Importante
Os subrecursos legados são preteridos a partir do lançamento de seus CRDs correspondentes. Se a sua configuração atualmente depender da forma de subrecurso desta definição de recurso, migre para um CRD.
O recurso personalizado do AtlasNetworkContainer define um contêiner de rede para um projeto Atlas. Você cria VPC conexões de peering entre os containers de rede e as redes que hospedam seus aplicativos.
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 da API de emparelhamento de rede do Atlas :
Cria um novo container de rede.
Atualiza um container de rede existente.
Exemplos
Os exemplos a seguir ilustram configurações para CRDs do AtlasNetworkContainer.
A configuração básica de exemplo define um recurso que você gerencia com a mesma instância do Atlas Kubernetes Operator com a qual você gerencia seu projeto pai do Atlas .
O exemplo de CRD independente configura o mesmo container de rede que o exemplo básico, mas para um projeto do Atlas que você gerencia fora da instância do Atlas Kubernetes Operator com a qual você gerencia o container de rede.
Exemplo básico
O seguinte mostra um recurso personalizado do AtlasNetworkContainer para um contêiner denominado my-atlas-nc que permite criar uma conexão de emparelhamento de VPC entre Atlas e Amazon Web Services dentro do projeto my-project. Para gerenciar esse recurso na mesma instância do Atlas Kubernetes Operator que seu projeto Atlas pai, você deve identificar o projeto com projectRef em vez de externalProjectRef.
apiVersion: atlas.mongodb.com/v1 kind: AtlasNetworkContainer metadata: name: my-atlas-nc spec: projectRef: name: my-project namespace: my-operator-namespace provider: AWS id: 66e2f2b7e69a89b66b621571 cidrBlock: 10.11.0.0/16 region: US_EAST_1
Exemplo de CRD independente
O exemplo a seguir mostra um AtlasNetworkContainer CRD independente que habilita o emparelhamento de VPC sob os mesmos parâmetros habilitados pelo exemplo básico. 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: AtlasNetworkContainer metadata: name: my-atlas-nc spec: externalProjectRef: projectId: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret provider: AWS id: 66e2f2b7e69a89b66b621571 cidrBlock: 10.11.0.0/16 region: US_EAST_1
Parâmetros
AtlasNetworkContainer
AtlasNetworkContainer é o esquema para a API AtlasNetworkContainer
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 |
AtlasNetworkContainer.spec
AtlasNetworkContainerSpec define o estado de destino de um AtlasNetworkContainer.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| enum | Provedor é o nome da nuvem | true |
| string | Atlas | false |
| objeto | Nome do segredo contendo as chaves privada e pública do Atlas | false |
| objeto |
| false |
| string |
| false |
| objeto |
| false |
| string |
| false |
AtlasNetworkContainer.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/work-with-objects/names/#names | true |
AtlasNetworkContainer.spec.externalProjectRef
externalProjectRef contém o ID do projeto pai do Atlas . Mutualmente exclusivo com o campo"projectRef".
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string |
| true |
AtlasNetworkContainer.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 |
AtlasNetworkContainer.status
AtlasNetworkContainerStatus é um status para o recurso AtlasNetworkContainer Custom. Não aquele incluído no AtlasProject
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| [] objeto | Condições é a lista de status que mostra o estado atual do Recurso Personalizado do Atlas | true |
| string |
| false |
| inteiro |
| false |
| booleano | Provisionado é verdadeiro quando clusters tiverem sido distribuídos no contêiner antes da última reconciliação | false |
AtlasNetworkContainer.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 Custom Resource. | true |
| string | Última vez que a condição fez a transição de um status para outro. Representado no | false |
| string | Um | false |
| string | O | false |