Observação
O Atlas Kubernetes Operator não oferece suporte ao recurso personalizado AtlasDataFederation para o Atlas for Government.
O recurso personalizado do AtlasDataFederation configura uma instância do banco de dados federado no Atlas. Quando você cria o recurso personalizado AtlasDataFederation, o Atlas Kubernetes Operator tenta criar ou atualizar uma instância do banco de dados federado no Atlas. Você pode utilizar uma instância do banco de dados federado para executar queries federadas.
Importante
Os Recursos Personalizados Não Excluem Mais Objetos por Padrão
O Atlas Kubernetes Operator usa 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 em 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 2 0Operator., consulte 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 usa o Atlas Clusters API Resource e o Advanced Clusters API Resource para criar uma nova instância do banco de dados federado ou atualizar uma instância do banco de dados federado existente. Se você especificar valores para os campos em spec.serverlessSpec, o Atlas Kubernetes Operator usará o Recurso Atlas de Instância sem Servidor API para criar ou configurar endpoints privados para sua instância do banco de dados federado.
Se você remover o recurso AtlasDataFederation do cluster do Kubernetes, o Atlas Kubernetes Operator removerá a instância do banco de dados federado do Atlas.
Exemplos
O exemplo a seguir mostra uma especificação de recurso personalizada AtlasDataFederation com endpoints privados configurados:
apiVersion: atlas.mongodb.com/v1 kind: AtlasDataFederation metadata: name: my-federated-deployment spec: projectRef: name: my-project namespace: default cloudProviderConfig: aws: roleId: 12345678 testS3Bucket: my-bucket dataProcessRegion: cloudProvider: AWS region: OREGON_USA name: my-fdi storage: databases: - collections: - dataSources: - allowInsecure: false collection: my-collection collectionRegex: database: my-database databaseRegex: defaultFormat: ".avro" path: / provenanceFieldName: string storeName: my-data-store urls: - string: name: my-collection-mdb maxWildcardCollections: 100 name: my-database-mdb views: - name: my-view pipeline: source: my-source-collection stores: - name: my-store provider: S3 additionalStorageClasses: - STANDARD bucket: my-bucket delimiter: / includeTags: false prefix: data- public: false region: US_WEST_1 privateEndpoints: - endpointId: vpce-3bf78b0ddee411ba1 provider: AWS type: DATA_LAKE - endpointId: vpce-3bf78b0ddee411ba2 provider: AWS type: DATA_LAKE
Parâmetros
Federação de Dados Atlas
AtlasDataFederation é o esquema para a API do Atlas Data Federation .
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 |
AtlasDataFederation.spec
DataFederationSpec define o estado de destino do AtlasDataFederation.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Etiqueta legível por humanos que identifica a instância do banco de dados federado. | true |
| objeto | O projeto é uma referência ao recurso | true |
| objeto | Configuração do provedor de nuvem onde essa Instância do Banco de Dados Federado está hospedada. | false |
| objeto | Informações sobre a região do fornecedor de serviços em nuvem para a qual a instância do banco de dados federado encaminha as conexões do cliente. | false |
| [] objeto | Endpoint privado para instâncias do banco de dados federados e Online Archives para adicionar ao projeto especificado. | false |
| objeto | Informações de configuração para cada armazenamento de dados e seu mapeamento para bancos de dados do | false |
AtlasDataFederation.spec.projectRef
O projeto é uma referência ao recurso AtlasProject ao qual a implantação pertence.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Nome do Recurso Kubernetes | true |
| string | Namespace do Recurso Kubernetes | false |
AtlasDataFederation.spec.cloudProviderConfig
Configuração do provedor de nuvem onde essa Instância do Banco de Dados Federado está hospedada.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objeto | Configuração para executar a Data Federation no | false |
AtlasDataFederation.spec.cloudProviderConfig.aws
Configuração para executar a Data Federation no AWS.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Identificador exclusivo da função que o data lake pode usar para acessar os armazenamentos de dados.Obrigatório se especificar | false |
| string | Nome do bucket de dados | false |
AtlasDataFederation.spec.dataProcessRegion
Informações sobre a região do fornecedor de serviços em nuvem para a qual a instância do banco de dados federado encaminha as conexões do cliente.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| enum | Nome do serviço de nuvem que hospeda a infraestrutura da Instância do Banco de Dados Federado. Enum: | false |
| enum | Nome do | false |
AtlasDataFederation.spec.privateEndpoints
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | String única alfanumérica de 24 caracteres que identifica o endpoint privado. | false |
| string | Etiqueta legível por humanos que identifica o provedor de serviços de nuvem. O Atlas Data Lake suporta apenas Amazon Web Services. | false |
| string | Etiqueta legível por humanos que identifica o recurso | false |
AtlasDataFederation.spec.storage
Informações de configuração para cada armazenamento de dados e seu mapeamento para bancos de dados MongoDB Atlas .
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| [] objeto | Array que contém o | false |
| [] objeto | Array que contém os dados | false |
AtlasDataFederation.spec.storage.databases
Banco de dados associado a este data lake. Os bancos de dados contêm collections e visualizações.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| [] objeto | Array de | false |
| inteiro | Número máximo de coleções de curingas no banco de dados. Isso se aplica apenas a | false |
| string | Rótulo legível por humanos que identifica o banco de dados para o qual o data lake mapeia os dados. | false |
| [] objeto | Array de pipelines de agregação que se aplicam à coleção. Isso se aplica apenas a | false |
AtlasDataFederation.spec.storage.databases.collections
Mapas de coleção para um armazenamento de dados de armazenamentos.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| [] objeto | Array que contém os armazenamentos de dados que mapeiam para uma coleção para esse data lake. | false |
| string | Etiqueta legível para humanos que identifica a collection para a qual o | false |
AtlasDataFederation.spec.storage.databases.collections.dataSources
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| booleano | Sinalizador que valida o esquema nas URLs especificadas. Se verdadeiro, permite o esquema | false |
| string | Rótulo legível por humanos que identifica o | false |
| string | Padrão regex a ser usado para criar a coleção curinga(). | false |
| string | Rótulo legível por humanos que identifica o banco de dados, que contém a coleção no cluster. Você deve omitir este parâmetro para gerar coleções curinga() para bancos de dados gerados dinamicamente. | false |
| string | Padrão regex a ser usado para criar o banco de dados wildcard(). | false |
| enum | Formato de arquivo que | false |
| string | Arquivo | false |
| string | Nome do campo que inclui a procedência dos documentos nos resultados. | false |
| string | Rótulo legível por humanos que identifica o armazenamento de dados que o | false |
| []string | URLs dos arquivos de dados acessíveis publicamente. Não é possível especificar URLs que exijam autenticação. O Atlas Data Lake cria uma partição para cada | false |
AtlasDataFederation.spec.storage.databases.views
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| string | Etiqueta legível para humanos que identifica a visualização, que corresponde a uma aggregation pipeline em uma collection. | false |
| string | Estágios de agregação | false |
| string | Etiqueta legível por humanos que identifica a collection | false |
AtlasDataFederation.spec.storage.stores
Armazenar é um grupo de configurações que definem onde os dados são armazenados.
Name | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| []string | Coleção de | false |
| string | Etiqueta legível por humanos que identifica o bucket | false |
| string | O | false |
| booleano | Sinalizador que indica se as tags | false |
| string | Rótulo legível por humanos que identifica o armazenamento de dados. O campo | false |
| string | Prefixo que o | false |
| string | O | false |
| booleano | Sinalizador que indica se o bucket é público. Se definido como true, | false |
| string | Local físico onde a | false |
AtlasDataFederation.status
DataFederationStatus define o estado observado de AtlasDataFederation.
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 |
AtlasDataFederation.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 |