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 AtlasNetworkPeering define uma conexão de peering de rede para um projeto do Atlas. As conexões de peering de rede isolam o tráfego de redes públicas para aumentar a segurança.
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 uma nova conexão de peering de rede.
Atualiza uma conexão de peering de rede existente.
Observação
Uma conexão de peering de rede pode pertencer somente a um projeto. Para definir a mesma conexão de peering de rede para vários projetos, crie definições de recursos personalizadas para cada projeto.
Exemplos
Os exemplos a seguir ilustram configurações para CRDs do AtlasNetworkPeering.
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 CRD independente configura a mesma conexão de emparelhamentoVPC que o exemplo básico, mas para um projeto Atlas que você gerencia fora da instância do Atlas Kubernetes Operator com a qual você gerencia a conexão de emparelhamento VPC.
Exemplo básico
O exemplo a seguir mostra um recurso personalizado do AtlasNetworkPeering que define a conexão do green-leaf-peering entre o projeto VPC do my-project e seu Amazon Web Services VPC. 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: AtlasNetworkPeering metadata: name: green-leaf-peering spec: projectRef: name: my-project namespace: my-operator-namespace containerRef: id: 72a6d2a69388ba121943ae27 id: 72a6d2a69388ba121943ae27 provider: AWS awsConfiguration: accepterRegionName: us-east-1 awsAccountId: 389226183042 routeTableCiderBlock: 10.0.0.0/21 vpcId: vpc-abc
Exemplo de CRD independente
O exemplo a seguir mostra um AtlasNetworkPeering CRD independente que configura a mesma conexão de emparelhamento de VPC definida pelo Exemplo Básico. Para habilitar o gerenciamento de recursos independentemente do projeto pai, 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: AtlasNetworkPeering metadata: name: green-leaf-peering spec: externalProjectRef: projectId: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret containerRef: id: 72a6d2a69388ba121943ae27 id: 72a6d2a69388ba121943ae27 provider: AWS awsConfiguration: accepterRegionName: us-east-1 awsAccountId: 389226183042 routeTableCiderBlock: 10.0.0.0/21 vpcId: vpc-abc
Parâmetros
AtlasNetworkPeering
AtlasNetworkPeering é o esquema para a API AtlasNetworkPeering
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 |
AtlasNetworkPeering.spec
AtlasNetworkPeeringSpec define o estado de destino do AtlasNetworkPeering.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objeto |
| true |
| enum | Nome do serviço de nuvem | true |
| objeto | AWSConfiguration são as configurações específicas do | false |
| objeto |
| false |
| objeto | Nome do segredo contendo as chaves privada e pública do Atlas | false |
| objeto |
| false |
| objeto | GCPConfiguration são as configurações específicas do Google Cloud para emparelhamento de rede. | false |
| string |
| false |
| objeto |
| false |
AtlasNetworkPeering.spec.containerRef
ContainerDualReference refere-se a um contêiner de rede pelo nome Kubernetes ou ID Atlas.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string |
| false |
| string | O nome do recurso contêiner Kubernetes deve estar presente no mesmo namespace. Use | false |
AtlasNetworkPeering.spec.awsConfiguration
AWSConfiguration são as configurações específicas da AWS para emparelhamento de rede.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string |
| true |
| string |
| true |
| string | Usuário | true |
| string |
| true |
AtlasNetworkPeering.spec.azureConfiguration
AzureConfiguration são as configurações específicas do Azure para emparelhamento de rede.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string |
| true |
| string |
| true |
| string |
| true |
| string | VNetName é o nome da sua VNet do Azure. É aplicável apenas ao Azure. | true |
AtlasNetworkPeering.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 |
AtlasNetworkPeering.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 |
AtlasNetworkPeering.spec.gcpConfiguration
GCPConfiguration são as configurações específicas do Google Cloud para emparelhamento de rede.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Usuário | true |
| string |
| true |
AtlasNetworkPeering.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 |
AtlasNetworkPeering.status
AtlasNetworkPeeringStatus é um status para o recurso personalizado AtlasNetworkPeering. 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 |
| objeto | AWSStatus contém apenas informações de status relacionadas a | false |
| objeto |
| false |
| objeto | O GCPStatus contém apenas informações de status relacionadas a | false |
| string |
| false |
| inteiro |
| false |
| string | O status descreve o último | false |
AtlasNetworkPeering.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 |
AtlasNetworkPeering.status.awsStatus
AWSStatus contém apenas informações de status relacionadas à AWS
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string |
| false |
| string |
| false |
AtlasNetworkPeering.status.azureStatus
O AzureStatus contém informações de status relacionadas apenas ao Azure
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string |
| false |
| string |
| false |
AtlasNetworkPeering.status.gcpStatus
GCPStatus contém informações de status relacionadas apenas ao GCP
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | GCPProjectID é | false |
| string |
| false |