注意
Atlas Kubernetes Operator 不支持 Atlas for 政府 的AtlasDataFederation自定义资源。
AtlasDataFederation 自定义资源在Atlas中配置联合数据库实例。当您创建 AtlasDataFederation 自定义资源时, Atlas Kubernetes Operator会尝试在Atlas中创建或更新联合数据库实例。您可以使用联合数据库实例来运行联合查询。
重要
自定义资源不再默认删除对象
Atlas Kubernetes Operator使用自定义资源配置文件来管理Atlas配置,但从Atlas Kubernetes Operator2.0 开始,您在Kubernetes中删除的自定义资源不再(默认)在Atlas中删除。相反, Atlas Kubernetes Operator只是停止管理Atlas中的这些资源。
AtlasProject示例,如果您在Kubernetes中删除 自定义资源,默认默认, Atlas Kubernetes Operator不再自动从Atlas中删除相应的项目。这种行为更改旨在帮助防止意外删除。 要学习;了解详情,包括如何将此行为恢复为在Atlas Kubernetes Operator.2 0之前使用的默认,请参阅新默认值: Atlas Kubernetes2 Operator.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 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.
如果您从 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
参数
Atlas Data Federation
AtlasDataFederation 是 Atlas Data Federation API 的模式。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | atlas.mongodb.com/v1 | true |
| 字符串 |
| true |
| 对象 | 有关 | true |
| 对象 |
| false |
| 对象 |
| false |
AtlasDataFederation.spec
DataFederationSpec 定义了 AtlasDataFederation 的目标省/市/自治区。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | 人类可读标签,用于标识联合数据库实例。 | true |
| 对象 | 项目是对部署所属的 | true |
| 对象 | 托管此联合数据库实例的云提供商的配置。 | false |
| 对象 | 有关联邦数据库实例路由客户端连接的云提供商区域的信息。 | false |
| []对象 | 用于将联合数据库实例和在线存档添加到指定项目的私有端点。 | false |
| 对象 | 每个数据存储的配置信息及其到 | false |
AtlasDataFederation.spec.projectRef
项目是对部署所属的 AtlasProject资源的引用。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | Kubernetes资源名称 | true |
| 字符串 | Kubernetes资源的命名空间 | false |
AtlasDataFederation.spec.cloudProviderConfig
托管此联合数据库实例的云提供商的配置。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 对象 | 在 | false |
| 对象 | 在Azure中运行Data Federation的配置。 | false |
| 对象 | 在 | false |
AtlasDataFederation.spec.cloudProviderConfig.aws
在 AWS 中运行Data Federation的配置。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | data lake可用于访问权限数据存储的角色的唯一标识符。如果指定 | false |
| 字符串 | 所提供的角色 | false |
AtlasDataFederation.spec.cloudProviderConfig.azure
在Azure中运行Data Federation的配置。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | Data Federation 可用于访问数据存储的角色的唯一标识符。 | true |
AtlasDataFederation.spec.cloudProviderConfig.gcp
在GCP中运行Data Federation的配置。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | Data Federation 可用于访问数据存储的角色的唯一标识符。 | true |
AtlasDataFederation.spec.dataProcessRegion
有关联邦数据库实例路由客户端连接的云提供商区域的信息。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | Name of the cloud service that hosts the Federated Database Instance's infrastructure. see the list of available values here: https://www.mongodb.com/zh-cn/docs/api/doc/atlas-admin-api-v2/operation/operation-creategroupdatafederation#operation-creategroupdatafederation-body-application-vnd-atlas-2023-01-01-json-dataprocessregion-cloudprovider | false |
| 字符串 | Name of the | false |
AtlasDataFederation.spec.privateEndpoints
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | 唯一的 22 字符构成的字母数字字符串,用于标识私有端点。 | false |
| 字符串 | 用于标识云服务提供商的可读标签。Atlas Data Lake 仅支持 Amazon Web Services。 | false |
| 字符串 | 人类可读标签,用于标识与此私有端点关联的资源 | false |
AtlasDataFederation.spec。存储
每个数据存储的配置信息及其到MongoDB Atlas数据库的映射。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| []对象 | 包含此data lake的可查询 | false |
| []对象 | 包含data lake的数据 | false |
AtlasDataFederation.spec。 存储.databases
与此data lake关联的数据库。数据库包含集合和视图。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| []对象 | 由 | false |
| 整型 | 数据库中通配符集合的最大数量。这仅适用于 | false |
| 字符串 | 人类可读标签,用于标识数据库data lake将数据映射到的数据库。 | false |
| []对象 | 应用集合的聚合管道数组。这仅应用于 | false |
AtlasDataFederation.spec。 存储.databases.collections
集合映射到存储数据存储。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| []对象 | 包含映射到此data lake的集合的数据存储的数组。 | false |
| 字符串 | 人类可读标签,用于标识 | false |
AtlasDataFederation.spec。 存储.databases.collections.dataSources
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 布尔 | 用于验证指定 URL 中的方案的标志。如果为 true,则允许不安全的 | false |
| 字符串 | 人类可读标签,用于标识数据库中的 | false |
| 字符串 | 用于创建通配符 (*)集合的正则表达式模式。 | false |
| 字符串 | 用于标识数据库的人类可读标签,其中包含集群中的集合。必须省略此参数才能为动态生成的数据库生成通配符 (*) 集合。 | false |
| 字符串 | 用于创建通配符 (*)数据库的正则表达式模式。 | false |
| 枚举 |
| false |
| 字符串 | 文件 | false |
| 字符串 | 包含结果中文档来源的字段的名称。 | false |
| 字符串 | 人类可读标签,用于标识 | false |
| []string | 可公开访问的数据文件的 URL。不能指定需要身份验证的URL。Atlas Data Lake会为每个 | false |
AtlasDataFederation.spec.存储.数据库.views
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | 用于标识视图的人类可读标签,对应于collection上的聚合管道。 | false |
| 字符串 | 要应用源集合的聚合 | false |
| 字符串 | 人类可读标签,用于标识视图的 | false |
AtlasDataFederation.spec.存储.存储
存储是一群组定义数据存储位置的设置。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| []string |
| false |
| 字符串 | 标识 | false |
| 字符串 | 用作数据存储的 Atlas 集群的人类可读标签(提供商:Atlas)。 | false |
| 字符串 | 在数据存储中分隔路径段的 | false |
| 布尔 | 指示是否在给定路径中的文件上使用 | false |
| 字符串 | 用于标识数据存储的人类可读标签。 | false |
| 字符串 |
| false |
| 字符串 | 用于数据存储的 | false |
| 布尔 | 指示存储桶是否公开的标志。如果设为 true, | false |
| 对象 | Atlas 集群数据存储的读关注(read concern)(提供商:atlas)。 | false |
| 对象 | Atlas 集群数据存储的读取偏好(read preference)(提供商:Atlas)。 | false |
| 字符串 |
| false |
AtlasDataFederation.spec.storage.stores.readConcern
Atlas 集群数据存储的读关注(read concern)(提供商:atlas)。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | false |
AtlasDataFederation.spec.storage.stores.readPreference
Atlas 集群数据存储的读取偏好(read preference)(提供商:Atlas)。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 整型 | 从节点(secondary node from replica set)读取的最大复制延迟(以秒为单位)。 | false |
| 字符串 | 读取偏好(read preference)模式。 | false |
| [][]对象 | 用于将读取请求路由到特定副本集节点的标签集列表。 | false |
AtlasDataFederation.spec.storage.stores.readPreference.tagSets
ReadPreferenceTag 是用于路由读取请求的键值对。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | false | |
| 字符串 | false |
AtlasDataFederation.status
DataFederationStatus 定义了观察到的 AtlasDataFederation 省/市/自治区。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| []对象 | 条件是显示Atlas自定义资源当前省/市/自治区的列表 | true |
| 对象 |
| false |
| 字符串 |
| false |
| 整型 |
| false |
AtlasDataFederation.status.conditions
条件描述了Atlas自定义资源在某一点的省/市/自治区。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | 条件的状态; True、False、未知之一。 | true |
| 字符串 | Atlas自定义资源条件的类型。 | true |
| 字符串 | 上次条件从一种状态转换为另一种状态的时间。以 | false |
| 字符串 | 提供有关转换的详细信息的 | false |
| 字符串 | 条件的最后一次转换的 | false |
AtlasDataFederation.status.cloudProviderConfig
CloudProviderConfig 包含 Atlas 分配的云提供商配置的只读字段。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 对象 |
| false |
| 对象 | Azure 保留 Atlas 分配的 Azure 云提供商配置的只读字段。 | false |
| 对象 |
| false |
AtlasDataFederation.status.cloudProviderConfig.aws
AWS 为 AWS 云提供商配置保留 Atlas 分配的只读字段。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 |
| false |
| 字符串 | IAMAssumedRoleARN 是 Atlas 在访问数据存储时承担的 | false |
| 字符串 | IAMUserARN 是 Atlas 在访问数据存储时假定的 | false |
AtlasDataFederation.status.cloudProviderConfig.azure
Azure 保留 Atlas 分配的 Azure 云提供商配置的只读字段。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 |
| false |
| 字符串 |
| false |
| 字符串 |
| false |
AtlasDataFederation.status.cloudProviderConfig.gcp
GCP 为 GCP 云提供商配置保留 Atlas 分配的只读字段。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | GCPServiceAccount 是 Atlas 创建的 | false |