MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Menu Docs
Página inicial do Docs
/ /
/ / /

AtlasNetworkContainer Recurso personalizado

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 AtlasProject Recurso 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 personalizado AtlasDeployment, 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.

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.

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

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

AtlasNetworkContainer é o esquema para a API AtlasNetworkContainer

Name
Tipo
Descrição
Obrigatório

apiVersion

string

atlas.mongodb.com/v1

true

kind

string

AtlasNetworkContainer

true

metadata

objeto

Consulte a documentação do Kubernetes API para os campos do campo metadata.

true

spec

objeto

AtlasNetworkContainerSpec define o estado alvo de AtlasNetworkContainer um. Validações:

  • (has(auto.``externalProjectRef``) && !has(auto.``projectRef``)) || (!has(auto.''externalProjectRef'') && has(auto.''projectRef'')): deve definir somente uma referência do projeto por meio de externalProjectRef ou projectRef

  • (has(auto.``externalProjectRef``) && has(auto.``connectionSecret``)) || !has(auto.''externalProjectRef''): deve definir um segredo de conexão local ao fazer referência a um projeto externo

  • (auto.provider ==GCP ' ' && !has(auto.região)) || (auto.provider != 'GCP '): não deve definir região para GCP containers

  • ((auto.provider == 'AWS' || self.provider == 'AZURE') && has(auto.region)) || (auto.provider == 'GCP'): deve definir a região para AWS e contêineres do Azure

  • (auto.id == oldSelf.id) || (!has(auto.id) && !has(oldSelf.id)): id é imutável

  • (auto.region == oldSelf.region) || (!has(auto.region) && !has(oldSelf.region)): região é imutável

false

status

objeto

AtlasNetworkContainerStatus é um status para o recurso Personalizado AtlasNetworkContainer. Não aquele incluído no AtlasProject

false

AtlasNetworkContainerSpec define o estado de destino de um AtlasNetworkContainer.

Name
Tipo
Descrição
Obrigatório

provider

enum

Provedor é o nome da nuvem provider que hospeda o container de rede. Enum:,,AWSGCPAZURE

true

cidrBlock

string

Atlas CIDR. Precisa ser definido se ContainerID não estiver definido.

false

connectionSecret

objeto

Nome do segredo contendo as chaves privada e pública do Atlas API.

false

externalProjectRef

objeto

externalProjectRef contém o projeto principal do Atlas ID. Mutualmente exclusivo com o campo"projectRef".

false

id

string

ID é o identificador de contêiner para um contêiner de rede já existente a ser gerenciado pelo operador. Este campo pode ser utilizado em conjunto com cidrBlock para atualizar o cidrBlock de um contêiner existente. Este campo é imutável.

false

projectRef

objeto

projectRef é uma referência ao recurso pai AtlasProject. Mutualmente exclusivo com o campo"externalProjectRef".

false

region

string

ContainerRegion é o nome do provedor region do contêiner de par de rede Atlas no formato Atlas region Exigido pelo AWS e pelo Azure, mas não usado pelo GCP. Este campo é imutável, o Atlas não permite alterações no container de rede.

false

Nome do segredo que contém as chaves privadas e públicas da Atlas API.

externalProjectRef contém o ID do projeto pai do Atlas . Mutualmente exclusivo com o campo"projectRef".

Name
Tipo
Descrição
Obrigatório

id

string

ID é o projeto Atlas ID.

true

projectRef é uma referência ao recurso pai AtlasProject. Mutualmente exclusivo com o campo"externalProjectRef".

Name
Tipo
Descrição
Obrigatório

name

string

Nome do Recurso Kubernetes

true

namespace

string

Namespace do Recurso Kubernetes

false

AtlasNetworkContainerStatus é um status para o recurso AtlasNetworkContainer Custom. Não aquele incluído no AtlasProject

Name
Tipo
Descrição
Obrigatório

conditions

[] objeto

Condições é a lista de status que mostra o estado atual do Recurso Personalizado do Atlas

true

id

string

ID registrar o identificador do contêiner no Atlas

false

observedGeneration

inteiro

ObservedGeneration indica a geração da especificação de recursos que o Operador Atlas está ciente. O Operador do Atlas atualiza este campo para o valor de 'metadata.generation' assim que inicia a reconciliação do recurso. Formato: int64

false

provisioned

booleano

Provisionado é verdadeiro quando clusters tiverem sido distribuídos no contêiner antes da última reconciliação

false

A condição descreve o estado de um recurso personalizado do Atlas em um determinado ponto.

Name
Tipo
Descrição
Obrigatório

status

string

Status da condição; um de verdadeiro, falso, desconhecido.

true

type

string

Tipo de condição do Atlas Custom Resource.

true

lastTransitionTime

string

Última vez que a condição fez a transição de um status para outro. Representado no ISO 8601 formato. Formato: data/hora

false

message

string

Um message fornecendo detalhes sobre a transição.

false

reason

string

O reason para a última transição da condição.

false

Voltar

AtlasIPAccessList

Nesta página