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 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
Atlas Kubernetes Operator uses the Atlas Clusters API Resource and Advanced Clusters API Resource to create a new federated database instance or update an existing federated database instance. If you specify values for fields under spec.serverlessSpec, Atlas Kubernetes Operator uses the Atlas Serverless Instance API Resource to create or configure private endpoints for your federated database instance.
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
This section describes some of the key AtlasDataFederation custom resource parameters available. For a full list of available parameters, see the Atlas Data Federation API.
Consulte estas descrições, os exemplos disponíveis e a documentação da API para personalizar suas especificações.
metadata.nameTipo: string
Obrigatório
Label that identifies the
AtlasDataFederationCustom Resource that Atlas Kubernetes Operator uses to add this federated database instance to a project.
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 of the publicly-accessible data files. You can't specify URLs that require authentication. Atlas Data Federation creates a partition for each URL. If empty or omitted, Atlas Data Federation uses the URLs from the store specified in the dataSources.storeName parameter.
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
Human-readable label that identifies the data store. The spec.storage.databases.collections.dataSources.storeName field references this values as part of the mapping configuration.
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
Coleção de classes de armazenamento AWS S3. O Atlas Data Federation inclui os arquivos nessas classes de armazenamento nos resultados da query. 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 AWS S3. Este rótulo deve corresponder exatamente ao nome de um bucket S3 que a instância do banco de dados federado pode acessar com as credenciais AWS IAM configuradas.
spec.storage.stores.delimiterTipo: string
Opcional
The delimiter that separates spec.storage.databases.collections.dataSources.path segments in the data store. Atlas Kubernetes Operator uses the delimiter to efficiently traverse S3 buckets with a hierarchical directory structure. You can specify any character supported by the S3 object keys as the delimiter. For example, you can specify an underscore (
_) or a plus sign (+) or multiple characters, such as double underscores (__) as the delimiter. If omitted, defaults to/.
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
Prefix that Atlas Kubernetes Operator applies when searching for files in the S3 bucket. The data store prepends the value of prefix to the spec.storage.databases.collections.dataSources.path to create the full path for files to ingest. If omitted, Atlas Kubernetes Operator searches all files from the root of the S3 bucket.
spec.storage.stores.publicTipo: booleano
Opcional
Sinalizador que indica se o bucket é público. Se
trueconfigurado como, o Atlas Kubernetes Operator não utiliza a função IAM configurada do AWS para acessar o 3 bucket S. Se configurado parafalse, a função AWS IAM configurada deve incluir permissões para acessar o bucket S3.
spec.storage.stores.regionTipo: string
Opcional
região da AWS que indica a localização física do S3 bucket.
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 alfanumérica exclusiva de 22caracteres começando com
vpce-que identifica o ponto de extremidade 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 in which the
AtlasProjectCustom Resource specified in spec.projectRef.name exists.