Importante
Os subrecursos legados são preteridos a partir do lançamento de seus CRDs correspondentes. Se sua configuração depender atualmente da forma de subrecurso dessa definição de recurso, migre para um CRD.
O recurso personalizado do AtlasIPAccessList configura uma lista de acesso IP para um projeto do Atlas. Uma lista de acesso IP permite proteger seu projeto usando uma política de acesso mínimo. Cada projeto Atlas aceita no máximo um recurso AtlasIPAccessList. Se você definir vários recursos AtlasIPAccessList para o mesmo projeto, eles entrarão em conflito entre si.
Importante
Os Recursos Personalizados Não Excluem Mais Objetos por Padrão
O Atlas Kubernetes Operator utiliza arquivos de configuração de recurso personalizado para gerenciar sua configuração do Atlas , mas a partir do Atlas Kubernetes Operator,2.0 os recursos personalizados que você exclui no Kubernetes não são mais (por padrão) excluídos no Atlas. Em vez disso, o Atlas Kubernetes Operator simplesmente para de gerenciar estes recursos no Atlas. Por exemplo, se você excluir um
AtlasProjectRecurso Personalizado no Kubernetes, por padrão, o Atlas Kubernetes Operator não excluirá mais automaticamente o projeto correspondente do Atlas. Essa mudança no comportamento destina-se a ajudar a evitar exclusões acidentais ou inesperadas. Para saber mais, incluindo como reverter este comportamento para o padrão utilizado antes do Atlas Kubernetes Operator.,2 0consulte Novo padrão: Proteção de exclusão no Atlas Kubernetes 2 0Operator..Da mesma forma, o Atlas Kubernetes Operator não exclui equipes do Atlas se você as remover de um projeto do Atlas no Kubernetes com o Atlas Kubernetes Operator.
Defina explicitamente os detalhes de configuração desejados para evitar o uso implícito de valores de configuração padrão do Atlas . Em alguns casos, herdar os padrões do Atlas pode resultar em um loop de reconciliação que pode impedir que seu recurso personalizado atinja um estado
READY. Por exemplo, definir explicitamente o comportamento de autoscaling desejado em seu recurso personalizadoAtlasDeployment, conforme mostrado no exemplo incluído, garante que um tamanho de instância estática em seu recurso personalizado não esteja sendo aplicado repetidamente a um sistema do Atlas que tenha o autoscaling ativado.autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40
O Atlas Kubernetes Operator realiza uma das seguintes ações usando o recurso de API Lista de acesso IP do Projeto Atlas :
Cria uma nova lista de acesso IP.
Substituir uma lista de acesso IP existente .
Exemplos
Exemplo básico
O exemplo seguinte mostra um recurso personalizado do AtlasIPAccessList que permite acesso ao projeto do my-project a partir das seguintes fontes:
cidrBlock
192.168.1.0/24Endereço IP
10.0.0.1
O acesso de 10.0.0.1 expira após 31de março, 2025.
apiVersion: atlas.mongodb.com/v1 kind: AtlasIPAccessList metadata: name: atlasipaccesslist-sample spec: projectRef: name: my-project namespace: my-operator-namespace entries: - cidrBlock: 192.168.1.0/24 - ipAddress: 10.0.0.1 deleteAfterDate: 2025-03-31T23:59:59+02:00 - awsSecurityGroup: sg-1234 comment: "AWS Access to my network peering"
Exemplo de CRD independente
O exemplo a seguir mostra um AtlasIPAccessList CRD independente que permite o acesso a partir do mesmo bloco CIDR e endereço IP permitidos pelo Exemplo Básico. Esta definição de recurso personalizado permite a você criar uma lista de acesso IP em um projeto que você gerencia fora da instância do Atlas Kubernetes Operator com o qual você define este recurso. Para habilitar a operação independente, você deve usar um externalProjectRef em vez de um projectRef e deve fornecer um connectionSecret diretamente, pois esse recurso não pode herdar credenciais de API de seu projeto pai.
apiVersion: atlas.mongodb.com/v1 kind: AtlasIPAccessList metadata: name: atlasipaccesslist-sample spec: externalProjectRef: projectId: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret entries: - cidrBlock: 192.168.1.0/24 - ipAddress: 10.0.0.1 deleteAfterDate: 2025-03-31T23:59:59+02:00 - awsSecurityGroup: sg-1234 comment: "AWS Access to my network peering"
Parâmetros
AtlasIPAccessList
AtlasIPAccessList é o esquema para a API atlasipaccesslists.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | atlas.mongodb.com/v1 | true |
| string |
| true |
| objeto | Consulte a documentação do Kubernetes | true |
| objeto |
| false |
| objeto |
| false |
AtlasIPAccessList.spec
AtlasIPAccessListSpec define o estado de destino do AtlasIPAccessList.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| [] objeto | Entradas é a lista de | true |
| objeto | Nome do segredo contendo as chaves privada e pública do Atlas | false |
| objeto |
| false |
| objeto |
| false |
AtlasIPAccessList.spec.entries
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Identificador exclusivo do grupo de segurança | false |
| string | Faixa de endereços | false |
| string | Comentário associado a esta entrada da lista de acesso. | false |
| string | Data e hora após as quais o Atlas excluir a entrada temporária da lista de acesso. Formato: data/hora | false |
| string | Entrada usando um endereço | false |
AtlasIPAccessList.spec.connectionSecret
Nome do segredo que contém as chaves privadas e públicas da Atlas API.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | true |
AtlasIPAccessList.spec.externalProjectRef
externalProjectRef contém o ID do grupo pai do Atlas. Mutualmente exclusivo com o campo"projectRef".
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string |
| true |
AtlasIPAccessList.spec.projectRef
projectRef é uma referência ao recurso pai AtlasProject. Mutualmente exclusivo com o campo"externalProjectRef".
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do Recurso Kubernetes | true |
| string | Namespace do Recurso Kubernetes | false |
AtlasIPAccessList.status
AtlasIPAccessListStatus é o status observado mais recente do cluster AtlasIPAccessList. Somente leitura.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| [] objeto | Condições é a lista de status que mostra o estado atual do Recurso Personalizado do Atlas | true |
| [] objeto | Status é o estado da lista de acesso IP | false |
| inteiro |
| false |
AtlasIPAccessList.status. conditions
A condição descreve o estado de um recurso personalizado do Atlas em um determinado ponto.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Status da condição; um de verdadeiro, falso, desconhecido. | true |
| string | Tipo de condição do Atlas recurso. | true |
| string | Última vez que a condição fez a transição de um status para outro. Representado no formato | false |
| string | Um | false |
| string | O | false |
AtlasIPAccessList.status.entries
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | A entrada é o acesso ip que o Atlas está gerenciando | true |
| string | Status é o estado correspondente da entrada | true |