Nota
El operador de Kubernetes de Atlas no admite el recurso personalizado AtlasDataFederation para Atlas para el gobierno.
El recurso personalizado AtlasDataFederation configura una instancia de base de datos federada en Atlas. Cuando creas el recurso personalizado AtlasDataFederation, Atlas Kubernetes Operator intenta crear o actualizar una instancia federada de base de datos en Atlas. Puede usar una instancia federada de base de datos para ejecutar consultas federadas.
Importante
Recursos personalizados ya no borran objetos por defecto
Atlas Kubernetes Operator uses custom resource archivos de configuración to manage your Atlas configuration, but as of Atlas Kubernetes Operator 2.0, custom resources you borrar in Kubernetes are no longer (por defecto) borrados in Atlas. En su lugar, Atlas Kubernetes Operator simplemente deja de gestionar esos recursos en Atlas. Por ejemplo, si eliminas un
AtlasProjectCustom recurso en Kubernetes, de forma predeterminada, el Atlas Kubernetes Operator ya no elimina automáticamente el Proyecto correspondiente de Atlas. Este cambio de comportamiento está diseñado para ayudar a prevenir eliminaciones accidentales o inesperadas. Para saber más, incluido cómo revertir este comportamiento al por defecto utilizado antes de Atlas Kubernetes Operator 2.0, consulta Nuevo valor por defecto: Protección de Eliminación en Atlas Kubernetes Operator 2.0.Del mismo modo, Atlas Kubernetes Operator no elimina los equipos de Atlas si los eliminas de un proyecto Atlas en Kubernetes utilizando Atlas Kubernetes Operator.
Define explÃcitamente los detalles de configuración que deseas para evitar el uso implÃcito de los valores de configuración por defecto de Atlas. En algunos casos, heredar los valores por defecto de Atlas puede crear un ciclo de conciliación que impida que el recurso personalizado alcance un estado de
READY. Por ejemplo, definir explÃcitamente el comportamiento de escalado automático deseado en el recurso personalizadoAtlasDeployment, como se muestra en el ejemplo incluido, garantiza que un tamaño de instancia estático en el recurso personalizado no se aplique repetidamente a una implementación de Atlas que tiene el escalado automático habilitado.autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40
Atlas Kubernetes Operator utiliza el Atlas Recurso de API de clústeres y el Recurso de API de clústeres avanzados para crear una nueva instancia federada de base de datos o actualizar una instancia federada de base de datos existente. Si especifica valores para los campos en spec.serverlessSpec, Atlas Kubernetes Operator utiliza el recurso API de instancia sin servidor de Atlas para crear o configurar nodos privados para su instancia federada de base de datos.
Si elimina el recurso AtlasDataFederation de su clúster de Kubernetes, Atlas Kubernetes Operator elimina la instancia federada de base de datos de Atlas.
Ejemplos
El siguiente ejemplo muestra una AtlasDataFederation especificación de recurso personalizado con nodos 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 sección describe algunos de los parámetros clave del recurso personalizado AtlasDataFederation disponibles. Para obtener una lista completa de los parámetros disponibles, consulte el Atlas API de Data Federation.
Consulta estas descripciones, los ejemplos disponibles y la documentación de la API para personalizar tus especificaciones.
metadata.nameTipo: string
Requerido
Etiqueta que identifica el
AtlasDataFederationrecurso Personalizado que Atlas Kubernetes Operator utiliza para agregar esta instancia federada de base de datos a un Proyecto.
spec.cloudProviderConfigTipo: Objeto
Requerido
Lista que contiene las configuraciones del proveedor de nube para la instancia federada de base de datos.
spec.cloudProviderConfig.awsTipo: Objeto
Requerido
Nombre del proveedor de servicios en la nube que aloja la instancia de base de datos federada.
spec.cloudProviderConfig.aws.roleIdTipo: string
Requerido
Identificador único del rol que la instancia federada de base de datos puede usar para acceder a los almacenes de datos.
spec.cloudProviderConfig.aws.testS3BucketTipo: string
Requerido
Nombre de la bucket de datos en S3 a la que el ID de rol proporcionado está autorizado a acceder.
spec.dataProcessRegionTipo: Objeto
Requerido
Información sobre la región del proveedor de nube a la que la instancia federada de base de datos dirige las conexiones de los clientes. Atlas Kubernetes Operator sólo admite AWS.
spec.dataProcessRegion.cloudProviderTipo: string
Requerido
Nombre del proveedor de servicios en la nube que aloja los almacenes de datos de la instancia de base de datos federada. Atlas Kubernetes Operator acepta los siguientes valores:
AWSTENANTSERVERLESS
spec.dataProcessRegion.regionTipo: string
Requerido
Etiqueta que indica la ubicación geográfica de los almacenes de datos de la instancia federada de base de datos. Atlas Kubernetes Operator acepta los siguientes valores:
SYDNEY_AUSMUMBAI_INDFRANKFURT_DEUDUBLIN_IRLLONDON_GBRVIRGINIA_USAOREGON_USASAOPAULO_BRASINGAPORE_SGP
spec.nameTipo: string
Opcional
Etiqueta que identifica la instancia federada de base de datos en Atlas.
spec.storageTipo: Objeto
Opcional
Información de configuración para cada almacén de datos y su mapeo a bases de datos Atlas.
spec.storage.databasesTipo: arreglo
Opcional
Lista que contiene las bases de datos y colecciones consultables para esta instancia federada de base de datos.
spec.storage.databases.collectionsTipo: arreglo
Opcional
Lista de colecciones y fuentes de datos que se asignan a un almacén de datos
stores.
spec.storage.databases.collections.dataSourcesTipo: arreglo
Opcional
Lista que contiene los almacenamientos de datos que se mapean a una colección para esta instancia de base de datos federada.
spec.storage.databases.collections.dataSources.allowInsecureTipo: booleano
Opcional
Bandera que valida el esquema en los URLs especificados. Si
true, Atlas Kubernetes Operator permite el esquema inseguroHTTP, no verifica la cadena de certificados y el hostname del servidor, y acepta cualquier certificado con cualquier hostname presentado por el servidor. Sifalse, Atlas Kubernetes Operator solo permite asegurar el esquemaHTTPS.
spec.storage.databases.collections.dataSources.collectionTipo: string
Opcional
Etiqueta legible por humanos que identifica la colección en la base de datos. Para crear una colección comodÃn (
*), debes omitir este parámetro.
spec.storage.databases.collections.dataSources.collectionRegexTipo: string
Opcional
Patrón de expresiones regulares que se utilizará para crear una colección curinga (
*).
spec.storage.databases.collections.dataSources.databaseTipo: string
Opcional
Etiqueta legible por humanos que identifica la base de datos, que contiene la colección en el clúster. Debe omitir este parámetro para generar colecciones comodÃn (
*) para bases de datos generadas dinámicamente.
spec.storage.databases.collections.dataSources.databaseRegexTipo: string
Opcional
Patrón Regex para usar para crear la base de datos con comodines (
*).
spec.storage.databases.collections.dataSources.defaultFormatTipo: string
Opcional
Formato de archivo que Atlas Kubernetes Operator usa si encuentra un archivo sin una extensión de archivo mientras busca
storeName. Atlas Kubernetes Operator acepta los siguientes 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
Ruta de archivo que controla cómo el Atlas Kubernetes Operator busca y analiza los archivos en el
storeNameantes de asignarlos a una colección. Especifica/para capturar todos los archivos y carpetas de la ruta de prefijo.
spec.storage.databases.collections.dataSources.provenanceFieldNameTipo: string
Opcional
Etiqueta legible por humanos que identifica el campo que incluye la procedencia de los documentos en los resultados. Atlas Kubernetes Operator devuelve diferentes campos en los resultados según el proveedor compatible.
spec.storage.databases.collections.dataSources.storeNameTipo: string
Opcional
Etiqueta legible por humanos que identifica el almacén de datos al que el Atlas Kubernetes Operator asigna la colección.
spec.storage.databases.collections.dataSources.urlsTipo: arreglo
Opcional
URLs de los archivos de datos de acceso público. No se pueden especificar URLs que requieran autenticación. Atlas Data Federation crea una partición para cada URL. Si está vacÃo u omitido, Atlas Data Federation utiliza las URLs de la tienda especificadas en el parámetro dataSources.storeName.
spec.storage.databases.collections.nameTipo: string
Opcional
Etiqueta legible por humanos que identifica la colección a la que el Atlas Kubernetes Operator asigna los datos en los almacenes de datos.
spec.storage.databases.maxWildcardCollectionsTipo: int32
Opcional
Número máximo de colecciones comodÃn en la base de datos. Esto solo se aplica a las fuentes de datos de S3. El valor por defecto es
100.
spec.storage.databases.nameTipo: string
Opcional
Etiqueta legible por humanos que identifica la base de datos a la que la instancia federada de base de datos mapea datos.
spec.storage.databases.viewsTipo: arreglo
Opcional
Lista de pipeline de agregación que se aplican a la colección. Esto solo se aplica a las fuentes de datos S3.
spec.storage.databases.views.nameTipo: string
Opcional
Etiqueta legible por humanos que identifica la vista, la cual corresponde a una pipeline de agregación en una colección.
spec.storage.databases.views.pipelineTipo: string
Opcional
Etapas del pipeline de agregación a aplicar a la colección de origen.
spec.storage.databases.views.sourceTipo: string
Opcional
Etiqueta legible por humanos que identifica la colección de origen de la vista.
spec.storage.storesTipo: arreglo
Opcional
Lista que contiene los almacenes de datos para la instancia federada de base de datos.
spec.storage.stores.nameTipo: string
Opcional
Etiqueta legible para humanos que identifica el almacén de datos. El campo spec.storage.databases.collections.dataSources.storeName hace referencia a estos valores como parte de la configuración de asignación.
spec.storage.stores.providerTipo: string
Condicional
Proveedor para la tienda. El Atlas Kubernetes Operator solo admite
S3. Debe especificar este campo para utilizar un almacén de datos.
spec.storage.stores.additionalStorageClassesTipo: arreglo
Opcional
Colección de AWS clases de almacenamiento S3. Atlas Data Federation incluye los archivos en estas clases de almacenamiento en los resultados de la query. Atlas Kubernetes Operator acepta los siguientes valores:
STANDARDINTELLIGENT_TIERINGSTANDARD_IA
spec.storage.stores.bucketTipo: string
Opcional
Etiqueta legible por humanos que identifica el AWS bucket S3. Esta etiqueta debe coincidir exactamente con el nombre de un bucket S3 al que la instancia federada de base de datos puede acceder con las credenciales de AWS IAM configuradas.
spec.storage.stores.delimiterTipo: string
Opcional
El delimitador que separa los segmentos de spec.storage.databases.collections.dataSources.path en el almacenar de datos. Atlas Kubernetes Operator utiliza el delimitador para recorrer de forma eficiente los cubos S3 con una estructura de directorios jerárquica. Puede especificar cualquier carácter compatible con las claves de objeto S3 como delimitador. Por ejemplo, puede especificar un guion bajo (
_) o un signo más (+) o varios caracteres, como guiones bajos double (__) como delimitador. Si se omite, es por defecto/.
spec.storage.stores.includeTagsTipo: booleano
Opcional
Indicador que señala si se deben usar etiquetas S3 en los archivos ubicados en la ruta especificada como atributos adicionales de partición. Si se establece en verdadero, Atlas Kubernetes Operator añade las etiquetas S3 como atributos de partición adicionales y añade nuevos elementos BSON de nivel superior asociando cada etiqueta a cada documento. Si se omite, es por defecto
false.
spec.storage.stores.prefixTipo: string
Opcional
Prefijo que Atlas Kubernetes Operator aplica cuando busca archivos en el bucket S3. El almacenar de datos antepone el valor de prefijo a la spec.almacenamiento.bases de datos.colecciones.dataSources.path para crear la ruta completa de los archivos que se van a ingerir. Si se omite, Atlas Kubernetes Operator busca todos los archivos desde la raÃz del bucket S3.
spec.storage.stores.publicTipo: booleano
Opcional
Indicador de si el bucket es público. Si se establece en
true, Atlas Kubernetes Operator no utiliza el rol de Amazon Web Services IAM configurado para acceder al bucket S3. Si se establece enfalse, el rol configurado AWS IAM debe incluir permisos para acceder al bucket S3.
spec.storage.stores.regionTipo: string
Opcional
AWS región que indica la ubicación fÃsica del bucket S3.
spec.privateEndpointsTipo: arreglo
Opcional
Lista que contiene las configuraciones del endpoint privado para la instancia de base de datos federada.
spec.privateEndpoints.endpointIdTipo: string
Requerido
string alfanumérica única de 22caracteres que comienza con
vpce-y que identifica el nodo privado en AWS
spec.privateEndpoints.providerTipo: string
Opcional
Etiqueta legible por humanos que identifica al proveedor de servicios en la nube. Atlas Data Federation solo soporta
AWS.
spec.privateEndpoints.typeTipo: string
Opcional
Etiqueta legible por humanos que identifica el tipo de recurso asociado a este nodo privado. Atlas Data Federation solo soporta
DATA_LAKE.
spec.projectRef.nameTipo: string
Requerido
Nombre del Proyecto al que pertenece la instancia federada de base de datos. Debe especificar un
AtlasProjectrecurso personalizadoexistente.
spec.projectRef.namespaceTipo: string
Requerido
El namespace en el que existe el
AtlasProjectrecurso personalizado especificado en spec.projectRef.name.