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 Operator 2开始。 0 ,您在 Kubernetes 中删除的自定义资源将不再在 Atlas 中删除。相反,Atlas Kubernetes Operator 会停止管理这些资源。例如,如果您在 Kubernetes 中删除AtlasProject自定义资源,Atlas Kubernetes Operator 将不再自动从 Atlas 中删除相应的项目,从而防止意外删除。要了解详情,包括如何将此行为恢复为 Atlas Kubernetes Operator 2之前使用的默认行为。 0 ,请参阅新默认值:Atlas Kubernetes Operator 中的删除保护2 。 0 。

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

在此页面上