Docs 菜单
Docs 主页
/ /
MongoDB Atlas Kubernetes Operator
/

AtlasDataFederation 自定义资源

在此页面上

  • 示例
  • 参数

注意

Atlas Kubernetes Operator 不支持 Atlas for 政府 的AtlasDataFederation自定义资源。

AtlasDataFederation自定义资源在 Atlas 中配置 federated database instance 。 当您创建AtlasDataFederation自定义资源时,Atlas Kubernetes Operator 会尝试在 Atlas 中创建或更新联合数据库实例。 您可以使用联合数据库实例来运行联合查询。

重要

自定义资源不再默认删除对象

  • Atlas Kubernetes Operator使用 自定义资源配置文件来管理Atlas配置,但从Atlas Kubernetes Operator2.0 开始,您在Kubernetes中删除的自定义资源不再(默认)在Atlas中删除。相反, Atlas Kubernetes Operator只是停止管理Atlas中的这些资源。示例,如果您在Kubernetes中删除AtlasProject 自定义资源,默认, Atlas Kubernetes Operator不再自动从Atlas中删除相应的项目。这种行为更改旨在帮助防止意外删除。要学习;了解详情,包括如何将此行为恢复为Atlas Kubernetes Operator2 之前使用的默认行为。0 ,请参阅新默认值: Atlas Kubernetes Operator中的删除保护2 。0 。

    同样,如果您使用Atlas Kubernetes Operator从Kubernetes中的Atlas项目中删除团队,则Atlas Kubernetes Operator不会从Atlas中删除团队。

  • 显式定义所需的配置详细信息,以避免隐式使用默认Atlas配置值。在某些情况下,继承Atlas默认值可能会导致协调循环,从而阻止自定义资源实现 READY 状态。示例,在 AtlasDeployment 自定义资源中显式定义所需的自动伸缩行为(如所包含的示例所示)可确保自定义资源中的静态实例大小不会重复应用于已启用自动伸缩的Atlas部署。

    autoScaling:
    diskGB:
    enabled: true
    compute:
    enabled: true
    scaleDownEnabled: true
    minInstanceSize: M30
    maxInstanceSize: M40

Atlas Kubernetes Operator 使用 Atlas集群 API 资源高级集群 API 资源来创建新的联合数据库实例或更新现有的联合数据库实例。 如果您指定spec.serverlessSpec下的字段值,Atlas Kubernetes Operator 将使用 Atlas Serverless Instance API 资源为联合数据库实例创建或配置私有端点。

如果您从 Kubernetes 集群中删除AtlasDataFederation资源,Atlas Kubernetes Operator 将从 Atlas 中删除联合数据库实例。

以下示例显示了已配置私有端点的AtlasDataFederation自定义资源规范:

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

本部分介绍一些可用的关键AtlasDataFederation自定义资源参数。 有关可用参数的完整列表,请参阅 Atlas Data Federation API。

请参阅这些说明、可用示例和 API文档,自定义您的规范。

metadata.name

类型:字符串

必需

用于标识 Atlas Kubernetes Operator 用于将此联合数据库实例添加到项目的AtlasDataFederation自定义资源的标签。

spec.cloudProviderConfig

类型:对象

必需

包含联合数据库实例的云提供商配置的列表。

spec.cloudProviderConfig.aws

类型:对象

必需

托管联合数据库实例的云服务提供商的名称。

spec.cloudProviderConfig.aws.roleId

类型:字符串

必需

联合数据库实例可用于访问数据存储的角色的唯一标识符。

spec.cloudProviderConfig.aws.testS3Bucket

类型:字符串

必需

所提供的角色 ID 有权访问的 S3 数据存储桶的名称。

spec.dataProcessRegion

类型:对象

必需

有关联合数据库实例将客户端连接路由到的云提供商区域的信息。 Atlas Kubernetes Operator 支持仅Amazon Web Services

spec.dataProcessRegion.cloudProvider

类型:字符串

必需

托管联合数据库实例的数据存储的云服务提供商的名称。 Atlas Kubernetes Operator 接受以下值:

  • AWS

  • TENANT

  • SERVERLESS

spec.dataProcessRegion.region

类型:字符串

必需

指示联合数据库实例的数据存储地理位置的标签。 Atlas Kubernetes Operator 接受以下值:

  • SYDNEY_AUS

  • MUMBAI_IND

  • FRANKFURT_DEU

  • DUBLIN_IRL

  • LONDON_GBR

  • VIRGINIA_USA

  • OREGON_USA

  • SAOPAULO_BRA

  • SINGAPORE_SGP

spec.name

类型:字符串

Optional

用于标识 Atlas 中联合数据库实例的标签。

spec.storage

类型:对象

Optional

每个数据存储的配置信息及其到 Atlas 数据库的映射。

spec.storage.databases

类型:数组

Optional

包含此联合数据库实例的可查询数据库和collection的列表。

spec.storage.databases.collections

类型:数组

Optional

映射到stores数据存储的collection和数据源的列表。

spec.storage.databases.collections.dataSources

类型:数组

Optional

列表,其中包含映射到此联合数据库实例的集合的数据存储。

spec.storage.databases.collections.dataSources.allowInsecure

类型:布尔值

Optional

用于验证指定 URL 中的方案的标志。 如果true ,Atlas Kubernetes Operator 允许不安全的HTTP方案,不验证服务器的证书链和主机名,并接受服务器提供的具有任何主机名的任何证书。 如果为false,Atlas Kubernetes Operator仅允许保护HTTPS方案。

spec.storage.databases.collections.dataSources.collection

类型:字符串

Optional

人类可读标签,用于标识数据库中的集合。 要创建通配符 ( * ) collection,必须省略此参数。

spec.storage.databases.collections.dataSources.collectionRegex

类型:字符串

Optional

用于创建通配符 ( * ) collection的正则表达式模式。

spec.storage.databases.collections.dataSources.database

类型:字符串

Optional

用于标识数据库的人类可读标签,其中包含集群中的collection。您必须省略此参数才能为动态生成的数据库生成通配符 ( * ) collection。

spec.storage.databases.collections.dataSources.databaseRegex

类型:字符串

Optional

用于创建通配符 ( * ) 数据库的正则表达式模式。

spec.storage.databases.collections.dataSources.defaultFormat

类型:字符串

Optional

如果 Atlas Kubernetes Operator 在搜索 storeName 时遇到没有文件扩展名的文件,它使用的文件格式。Atlas Kubernetes Operator 接受以下值:

  • .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.path

类型:字符串

Optional

文件路径,用于控制 Atlas Kubernetes Operator 在将文件映射到collection之前如何搜索和解析storeName中的文件。指定/以捕获前缀路径中的所有文件和文件夹。

spec.storage.databases.collections.dataSources.provenanceFieldName

类型:字符串

Optional

人类可读标签,用于标识结果中包含文档来源的字段。 Atlas Kubernetes Operator 在结果中为每个支持的提供商返回不同的字段。

spec.storage.databases.collections.dataSources.storeName

类型:字符串

Optional

人类可读标签,用于标识 Atlas Kubernetes Operator 映射到collection的数据存储。

spec.storage.databases.collections.dataSources.urls

类型:数组

Optional

可公开访问的数据文件的 URL。 不能指定需要身份验证的 URL。 Atlas Data Federation 会为每个 URL 创建一个分区。 如果为空或省略,Atlas Data Federation 将使用dataSources.storeName参数中指定的存储中的 URL。

spec.storage.databases.collections.name

类型:字符串

Optional

人类可读标签,用于标识 Atlas Kubernetes Operator 将数据存储中的数据映射到的collection。

spec.storage.databases.maxWildcardCollections

类型:int32

Optional

数据库中通配符collection的最大数量。这仅适用于 S3 数据源。 默认值为100

spec.storage.databases.name

类型:字符串

Optional

人类可读标签,用于标识联合数据库实例将数据映射到的数据库。

spec.storage.databases.views

类型:数组

Optional

应用于collection的聚合管道列表。这仅适用于 S3 数据源。

spec.storage.databases.views.name

类型:字符串

Optional

用于标识视图的人类可读标签,对应于collection上的聚合管道。

spec.storage.databases.views.pipeline

类型:字符串

Optional

要应用于源collection的聚合管道阶段。

spec.storage.databases.views.source

类型:字符串

Optional

人类可读标签,用于标识视图的源集合。

spec.storage.stores

类型:数组

Optional

包含联合数据库实例的数据存储的列表。

spec.storage.stores.name

类型:字符串

Optional

用于标识数据存储的人类可读标签。 spec.storage.databases.collections.dataSources.storeName字段引用这些值作为映射配置的一部分。

spec.storage.stores.provider

类型:字符串

可选的

商店的提供商。 Atlas Kubernetes Operator 仅支持S3 。 您必须指定此字段才能使用数据存储。

spec.storage.stores.additionalStorageClasses

类型:数组

Optional

AWS S3 存储类的集合。 Atlas Data Federation 在查询结果中包含这些存储类中的文件。 Atlas Kubernetes Operator 接受以下值:

  • STANDARD

  • INTELLIGENT_TIERING

  • STANDARD_IA

spec.storage.stores.bucket

类型:字符串

Optional

用于标识Amazon Web Services S3 存储桶的人类可读标签。此标签必须与联合数据库实例可以使用配置的Amazon Web Services IAM 档案访问的 S3 存储桶的名称完全匹配。

spec.storage.stores.delimiter

类型:字符串

Optional

分隔数据存储中的spec.storage.databases.collections.dataSources.path段的分隔符。 Atlas Kubernetes Operator 使用分隔符有效地遍历具有分层目录结构的 S 3存储桶。 您可以指定 S 3对象键支持的任何字符作为分隔符。 例如,您可以指定下划线 ( _ ) 或加号 ( + ) 或多个字符(例如双下划线 ( __ ))作为分隔符。 如果省略,则默认为/

spec.storage.stores.includeTags

类型:布尔值

Optional

指示是否在给定路径中的文件上使用 S3 标签作为附加分区属性的标志。 如果设置为 true,Atlas Kubernetes Operator 会将 S3 标签添加为附加分区属性,并添加将每个标签与每个文档关联的新的顶级 BSON 元素。如果省略,则默认为false

spec.storage.stores.prefix

类型:字符串

Optional

Atlas Kubernetes Operator 在 S 3存储桶中搜索文件时应用的前缀。 数据存储将 prefix 的值添加到spec.storage.databases.collections.dataSources.path 之前,以创建要摄取的文件的完整路径。 如果省略,Atlas Kubernetes Operator 会从 S 3存储桶的根目录开始搜索所有文件。

spec.storage.stores.public

类型:布尔值

Optional

指示存储桶是否公开的标志。 如果设置为true ,Atlas Kubernetes Operator 不使用配置的AWS IAM角色访问 S3 存储桶。 如果设置为false ,则配置的Amazon Web Services IAM角色必须包含访问 S3 存储桶的权限。

spec.storage.stores.region

类型:字符串

Optional

指示 S3 存储桶物理位置的Amazon Web Services地区。

spec.privateEndpoints

类型:数组

Optional

包含联合数据库实例的私有端点配置的列表。

spec.privateEndpoints.endpointId

类型:字符串

必需

vpce-开头的唯一 22 字符字母数字字符串,用于标识Amazon Web Services中的私有端点

spec.privateEndpoints.provider

类型:字符串

Optional

用于标识云服务提供商的人类可读标签。 Atlas Data Federation 仅支持AWS

spec.privateEndpoints.type

类型:字符串

Optional

人类可读标签,用于标识与此私有端点关联的资源类型。 Atlas Data Federation 仅支持DATA_LAKE

spec.projectRef.name

类型:字符串

必需

联合数据库实例所属项目的名称。 您必须指定现有的AtlasProject自定义资源。

spec.projectRef.namespace

类型:字符串

必需

spec.projectRef.name 中指定的AtlasProject 自定义资源 所在的命名空间。

后退

AtlasTeam

在此页面上