注意
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 Operator2 0之前使用的默认行为,请参阅新的默认值: Atlas Kubernetes Operator2 中的删除保护。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
参数
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 |
AtlasDataFederation.spec.cloudProviderConfig.aws
在 AWS 中运行Data Federation的配置。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | data lake可用于访问权限数据存储的角色的唯一标识符。如果指定 | false |
| 字符串 | 所提供的角色 | false |
AtlasDataFederation.spec.dataProcessRegion
有关联邦数据库实例路由客户端连接的云提供商区域的信息。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 枚举 | 托管联合数据库实例基础架构的云服务的名称。枚举: | false |
| 枚举 |
| 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。 存储.databases.views
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | 用于标识视图的人类可读标签,对应于collection上的聚合管道。 | false |
| 字符串 | 要应用源集合的聚合 | false |
| 字符串 | 人类可读标签,用于标识视图的 | false |
AtlasDataFederation.spec。 存储.stores
存储是一群组定义数据存储位置的设置。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| []string |
| false |
| 字符串 | 标识 | false |
| 字符串 | 在数据存储中分隔路径段的 | false |
| 布尔 | 指示是否在给定路径中的文件上使用 | false |
| 字符串 | 用于标识数据存储的人类可读标签。 | false |
| 字符串 |
| false |
| 字符串 | 用于数据存储的 | false |
| 布尔 | 指示存储桶是否公开的标志。如果设立为 true, | false |
| 字符串 |
| false |
AtlasDataFederation.status
DataFederationStatus 定义了观察到的 AtlasDataFederation 状态。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| []对象 | 条件是显示Atlas自定义资源当前状态的状态列表 | true |
| 字符串 |
| false |
| 整型 |
| false |
AtlasDataFederation.status.conditions
条件描述了Atlas自定义资源在某一点的状态。
Name | 类型 | 说明 | 必需 |
|---|---|---|---|
| 字符串 | 条件的状态; True、False、未知之一。 | true |
| 字符串 | Atlas自定义资源条件的类型。 | true |
| 字符串 | 上次条件从一种状态转换为另一种状态的时间。以 | false |
| 字符串 | 提供有关转换的详细信息的 | false |
| 字符串 | 条件的最后一次转换的 | false |