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. Puedes usar una instancia de base de datos federada para ejecutar queries federados.
Importante
Recursos personalizados ya no borran objetos por defecto
El operador de Kubernetes de Atlas utiliza Los archivos de configuración de recursos personalizados para gestionar tu configuración de Atlas, pero a partir de Atlas Kubernetes Operator 2.0, los recursos personalizados que borras en Kubernetes ya no se eliminan en Atlas (por defecto). 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.De manera similar, Atlas Kubernetes Operator no elimina equipos de Atlas si los elimina de un proyecto Atlas en Kubernetes con 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 los recursos de la API de clústeres de Atlas y de la spec.serverlessSpec API de clústeres avanzados para crear una nueva instancia de base de datos federada o actualizar una instancia de base de datos federada existente. Si especifica valores para los campos en, Atlas Kubernetes Operator utiliza el recurso de la API de instancia sin servidor de Atlas para crear o configurar puntos finales privados para su instancia de base de datos federada.
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 AtlasDataFederation parámetros clave de recursos personalizados disponibles. Para obtener una lista completa de los parámetros disponibles, consulte la API de federación de datos de Atlas.
Consulta estas descripciones, los ejemplos disponibles y el Documentación API para personalizar sus 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 de base de datos federada puede utilizar 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 de base de datos federada enruta las conexiones de cliente. Atlas Kubernetes Operator solo es compatible con 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 de base de datos federada.
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 que identifica la colección en la base de datos. Para crear una colección con comodín (
*), debe 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 de expresión regular a utilizar para crear la base de datos de comodín (
*).
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 Atlas Kubernetes Operator busca y analiza los archivos en
storeNameantes de asignarlos a una colección. Especifique/para capturar todos los archivos y carpetas de la ruta de prefijo.
spec.storage.databases.collections.dataSources.provenanceFieldNameTipo: string
Opcional
Etiqueta legible que identifica el campo que incluye la procedencia de los documentos en los resultados. El operador de Kubernetes de Atlas devuelve diferentes campos en los resultados para cada proveedor compatible.
spec.storage.databases.collections.dataSources.storeNameTipo: string
Opcional
Etiqueta legible por humanos que identifica el almacén de datos que Atlas Kubernetes Operator asigna a 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 de base de datos federada.
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 del almacén. El operador de Kubernetes de Atlas solo admite
S3. Debe especificar este campo para usar 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 las consultas. 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 pueda acceder con las credenciales AWS IAM configuradas.
spec.storage.stores.delimiterTipo: string
Opcional
El delimitador que separa los segmentos spec.storage.databases.collections.dataSources.path en el almacenamiento de datos. Atlas Kubernetes Operator utiliza el delimitador para recorrer de manera eficiente los buckets de S3 con una estructura de directorio jerárquica. Puedes especificar cualquier carácter admitido por las claves de objeto S3 como delimitador. Por ejemplo, se puede especificar un guion bajo (
_) o un signo de más (+) o varios caracteres, como guiones bajos double (__), como delimitadores. Si se omite, el valor por defecto es/.
spec.storage.stores.includeTagsTipo: booleano
Opcional
Marca que indica si se deben usar etiquetas S3 en los archivos de la ruta especificada como atributos de partición adicionales. Si se establece como "true", Atlas Kubernetes Operator agrega las etiquetas S3 como atributos de partición adicionales y nuevos elementos BSON de nivel superior que asocian cada etiqueta a cada documento. Si se omite, el valor predeterminado es
false.
spec.storage.stores.prefixTipo: string
Opcional
Prefijo que Atlas Kubernetes Operator aplica al buscar archivos en el bucket S3. El almacén de datos antepone el valor del prefijo a la spec.storage.databases.collections.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 que señala si el bucket es público. Si se configura en
true, el Operador de Atlas Kubernetes no utiliza el rol de AWS IAM configurado para acceder al bucket S3. Si está configurado enfalse, el rol AWS IAM configurado debe incluir permisos para acceder al bucket S3.
spec.storage.stores.regionTipo: string
Opcional
Región de AWS que indica la ubicación física del bucket de S3.
spec.privateEndpointsTipo: arreglo
Opcional
Lista que contiene las configuraciones de puntos finales privados para la instancia de base de datos federada.
spec.privateEndpoints.endpointIdTipo: string
Requerido
string alfanumérico único de 22 caracteres que comienza con
vpce-y que identifica el endpoint 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
Espacio de nombres en el que existe
AtlasProjectel recurso personalizado especificado en spec.projectRef.name.