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 umainstância do banco de dados federado do 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
Esta seção descreve alguns dos principais parâmetros de recursos personalizados AtlasDataFederation disponíveis. Para obter uma lista completa dos parâmetros disponíveis, consulte a API do Atlas Data Federation.
Consulte estas descrições, os exemplos disponíveis e a documentação da API do para personalizar suas especificações.
metadata.nameTipo: string
Obrigatório
Etiqueta que identifica o
AtlasDataFederationRecurso Personalizado que o Atlas Kubernetes Operator utiliza para adicionar esta instância do banco de dados federado a um projeto.
spec.cloudProviderConfigTipo: objeto
Obrigatório
Lista que contém as configurações do fornecedor de nuvem para a instância do banco de dados federado.
spec.cloudProviderConfig.awsTipo: objeto
Obrigatório
Nome do provedor de serviços de nuvem que hospeda a instância do banco de dados federado.
spec.cloudProviderConfig.aws.roleIdTipo: string
Obrigatório
Identificador único da role que a instância do banco de dados federado pode usar para acessar os armazenamentos de dados.
spec.cloudProviderConfig.aws.testS3BucketTipo: string
Obrigatório
Nome do bucket de dados do S3 que o ID de role fornecido está autorizado a acessar.
spec.dataProcessRegionTipo: objeto
Obrigatório
Informações sobre a região do fornecedor de nuvem para a qual a instância do banco de dados federado roteia as conexões do cliente. O Atlas Kubernetes Operator é compatível apenas com Amazon Web Services.
spec.dataProcessRegion.cloudProviderTipo: string
Obrigatório
Nome do provedor de serviços de cloud que hospeda os armazenamentos de dados da instância do reconhecimento de data center federado. O Atlas Kubernetes Operator aceita os seguintes valores:
AWSTENANTSERVERLESS
spec.dataProcessRegion.regionTipo: string
Obrigatório
Etiqueta que indica a localização geográfica dos armazenamentos de dados da instância do banco de dados federado. O Atlas Kubernetes Operator aceita os seguintes valores:
SYDNEY_AUSMUMBAI_INDFRANKFURT_DEUDUBLIN_IRLLONDON_GBRVIRGINIA_USAOREGON_USASAOPAULO_BRASINGAPORE_SGP
spec.nameTipo: string
Opcional
Etiqueta que identifica a instância do banco de dados federado no Atlas.
spec.storageTipo: objeto
Opcional
Informações de configuração para cada armazenamento de dados e seu mapeamento para bancos de dados Atlas.
spec.storage.databasesTipo: array
Opcional
Lista que contém os bancos de dados consultáveis e as coleções para esta instância do banco de dados federado.
spec.storage.databases.collectionsTipo: array
Opcional
Lista de collection e conjunto de dados que mapeiam para um armazenamento de dados do
stores.
spec.storage.databases.collections.dataSourcesTipo: array
Opcional
Lista que contém os armazenamentos de dados mapeados para uma collection para esta instância do banco de dados federado.
spec.storage.databases.collections.dataSources.allowInsecureTipo: booleano
Opcional
Sinalizador que valida o esquema na URL especificada. Se
true, o Atlas Kubernetes Operator permite o esquema inseguroHTTP, não verifica a cadeia de certificados do servidor e o nome de host e aceita qualquer certificado com qualquer nome de host apresentado pelo servidor. Sefalse, o Atlas Kubernetes Operator permite proteger somente o esquemaHTTPS.
spec.storage.databases.collections.dataSources.collectionTipo: string
Opcional
Rótulo legível por humanos que identifica a collection no reconhecimento de data center. Para criar uma collection de curingas (
*), você deve omitir este parâmetro.
spec.storage.databases.collections.dataSources.collectionRegexTipo: string
Opcional
Padrão regex a ser usado para criar uma collection de curingas (
*).
spec.storage.databases.collections.dataSources.databaseTipo: string
Opcional
Rótulo legível por humanos que identifica o reconhecimento de data center, que contém a collection no cluster. Você deve omitir este parâmetro para gerar collection de curingas (
*) para reconhecimento de data center gerados dinamicamente.
spec.storage.databases.collections.dataSources.databaseRegexTipo: string
Opcional
Padrão regex a ser usado para criar o reconhecimento de data center curinga (
*).
spec.storage.databases.collections.dataSources.defaultFormatTipo: string
Opcional
Formato de arquivo que o Atlas Kubernetes Operator utiliza se encontrar um arquivo sem uma extensão de arquivo ao pesquisar
storeName. O Atlas Kubernetes Operator aceita os seguintes valores:.avro.avro.bz2.avro.gz.bson.bson.bz2.bson.gz.bsonx.csv.csv.bz2.csv.gz.json.json.bz2.json.gz.orc.parquet.tsv.tsv.bz2.tsv.gz
spec.storage.databases.collections.dataSources.pathTipo: string
Opcional
Caminho do arquivo que controla como o Atlas Kubernetes Operator pesquisa e analisa os arquivos no
storeNameantes de mapeá-los para uma collection. Especifique/para capturar todos os arquivos e pastas do caminho de prefixo.
spec.storage.databases.collections.dataSources.provenanceFieldNameTipo: string
Opcional
Etiqueta legível para humanos que identifica o campo que inclui a procedência dos documentos nos resultados. O Atlas Kubernetes Operator retorna campos diferentes nos resultados de cada provedor suportado.
spec.storage.databases.collections.dataSources.storeNameTipo: string
Opcional
Rótulo legível por humanos que identifica o data store que o Atlas Kubernetes Operator mapeia para a collection.
spec.storage.databases.collections.dataSources.urlsTipo: array
Opcional
URLs dos arquivos de dados acessíveis publicamente. Não é possível especificar URLs que exijam autenticação. O Atlas Data Federation cria uma partição para cada URL. Se vazio ou omitido, o Atlas Data Federation usa as URLs do armazenamento especificado no parâmetro dataSources.storeName .
spec.storage.databases.collections.nameTipo: string
Opcional
Etiqueta legível para humanos que identifica a collection para a qual o Atlas Kubernetes Operator mapeia os dados nos armazenamentos de dados.
spec.storage.databases.maxWildcardCollectionsTipo : int32
Opcional
Número máximo de coleções de curingas no banco de dados. Isso se aplica apenas a fontes de dados S3. O valor padrão é
100.
spec.storage.databases.nameTipo: string
Opcional
Rótulo legível por humanos que identifica o banco de dados para o qual a instância do banco de dados federado mapeia os dados.
spec.storage.databases.viewsTipo: array
Opcional
Lista de pipelines de agregação que se aplicam à collection. Isso se aplica apenas ao conjunto de dados S3.
spec.storage.databases.views.nameTipo: string
Opcional
Etiqueta legível para humanos que identifica a visualização, que corresponde a uma aggregation pipeline em uma collection.
spec.storage.databases.views.pipelineTipo: string
Opcional
Estágios do pipeline de agregação a serem aplicados à coleção de origem.
spec.storage.databases.views.sourceTipo: string
Opcional
Etiqueta legível para humanos que identifica a collection de origem para a visualização.
spec.storage.storesTipo: array
Opcional
Lista que contém os armazenamentos de dados para a instância do banco de dados federado.
spec.storage.stores.nameTipo: string
Opcional
Rótulo legível por humanos que identifica o armazenamento de dados. O campo spec.storage.databases.collections.dataSources.storeName faz referência a esses valores como parte da configuração de mapeamento.
spec.storage.stores.providerTipo: string
Condicional
Fornecedor da loja. O Atlas Kubernetes Operator suporta apenas
S3. Você deve especificar este campo para usar um armazenamento de dados.
spec.storage.stores.additionalStorageClassesTipo: array
Opcional
collection de classes de armazenamento Amazon Web Services S3. O Atlas Data Federation inclui os arquivos nessas classes de armazenamento nos resultados da query. O Atlas Kubernetes Operator aceita os seguintes valores:
STANDARDINTELLIGENT_TIERINGSTANDARD_IA
spec.storage.stores.bucketTipo: string
Opcional
Etiqueta legível por humanos que identifica o bucket do Amazon Web Services S3. Esse rótulo deve corresponder exatamente ao nome de um bucket do S3 que a instância do banco de dados federado pode acessar com as credenciais configuradas do Amazon Web Services IAM .
spec.storage.stores.delimiterTipo: string
Opcional
O delimitador que separa os segmentos spec.storage.databases.collections.dataSources.path no armazenamento de dados. O Atlas Kubernetes Operator usa o delimitador para percorrer com eficiência os buckets S3 com uma estrutura de diretório hierárquica. Você pode especificar qualquer caractere suportado pelas chaves de objeto S3 como delimitador. Por exemplo, você pode especificar um sublinhado (
_) ou um sinal de mais (+) ou vários caracteres, como sublinhados duplos (__) como delimitador. Se omitido, o padrão é/.
spec.storage.stores.includeTagsTipo: booleano
Opcional
Sinalizador que indica se devem ser usadas tags S3 nos arquivos no caminho fornecido como atributos de partição adicionais. Se definido como verdadeiro, o Atlas Kubernetes Operator adiciona as marcações S3 como atributos de partição adicionais e adiciona novos elementos BSON de nível superior associando cada marcação a cada documento. Se omitido, o padrão é
false.
spec.storage.stores.prefixTipo: string
Opcional
Prefixo que o Atlas Kubernetes Operator aplica ao procurar arquivos no bucket S3 . O armazenamento de dados acrescenta o valor de prefixo ao spec.storage.databases.collections.dataSources.path para criar o caminho completo para a ingestão dos arquivos. Se omitido, o Atlas Kubernetes Operator pesquisa todos os arquivos a partir da raiz do bucket S3 .
spec.storage.stores.publicTipo: booleano
Opcional
Sinalizador que indica se o bucket é público. Se configurado para
true, o Atlas Kubernetes Operator não utiliza o papel configurado do Amazon Web Services IAM para acessar o bucket S3. Se definido comofalse, a função do Amazon Web Services IAM configurada deve incluir permissões para acessar o bucket do S3.
spec.storage.stores.regionTipo: string
Opcional
Região AWS que indica o local físico do bucket S3.
spec.privateEndpointsTipo: array
Opcional
Lista que contém as configurações de endpoint privado para a instância do banco de dados federado.
spec.privateEndpoints.endpointIdTipo: string
Obrigatório
String única alfanumérica de 22 caracteres começando com
vpce-que identifica o endpoint privado na Amazon Web Services
spec.privateEndpoints.providerTipo: string
Opcional
Etiqueta legível por humanos que identifica o provedor de serviços de cloud. O Atlas Data Federation suporta apenas
AWS.
spec.privateEndpoints.typeTipo: string
Opcional
Etiqueta legível para humanos que identifica o tipo de recurso associado a este endpoint privado. O Atlas Data Federation suporta apenas
DATA_LAKE.
spec.projectRef.nameTipo: string
Obrigatório
Nome do projeto ao qual pertence a instância do banco de dados federado. Você deve especificar um Recurso Personalizado
AtlasProjectexistente.
spec.projectRef.namespaceTipo: string
Obrigatório
Namespace no qual o
AtlasProjectRecurso Personalizado especificado em spec.projectRef.name existe.