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

将 Atlas 项目导入 Atlas Kubernetes Operator

在此页面上

  • 概述
  • 参数
  • 兼容性
  • 举例
  • 应用配置

如果您已有 Kubernetes 部署并希望开始使用 Atlas Kubernetes Operator,则可以使用 Atlas CLI atlas kubernetes config generateatlas kubernetes config apply命令导出 Atlas 项目、部署和数据库用户。

这两个命令都允许您以与 Atlas Kubernetes Operator 兼容的格式导出配置,以便在运行 Atlas Kubernetes Operator 的 Kubernetes 或 Openshift 集群中使用。 atlas kubernetes config generate命令通过将 YAML格式的配置输出到终端的stdout来实现此目的,而atlas kubernetes config apply命令会将配置存储在内存中并将其直接发送到目标 Kubernetes 集群。

这两个命令都会生成.yaml格式的配置,其中包括以下 Atlas Kubernetes Operator 资源:

  • AtlasDeployment自定义资源

  • AtlasBackupSchedule自定义资源

  • AtlasBackupPolicy自定义资源

  • AtlasProject自定义资源

  • AtlasDatabaseUser自定义资源

  • AtlasTeam自定义资源

该命令采用以下参数:

参数
说明
必要性
--projectId
标识项目的唯一的 24 位十六进制字符串。 如果省略,则默认为atlascli配置文件中的projectId值。
必需。
--clusterName
以逗号分隔的人类可读标签列表,用于标识要导出的集群。 这些必须是projectId参数中指定的项目中的集群。 如果省略,该命令将导出指定项目中的所有集群。
可选。
--includeSecrets
用于填充 Atlas 凭证密钥的配置文件中的条目的标志。 如果省略,该命令将创建密钥,但不会使用数据填充该密钥。 密钥将呈现为纯文本。
可选。
--targetNamespace
要将资源导出到的 Kubernetes 命名空间。 该命令使用此参数的值填充每个导出的 Atlas 实体的metadata.namespace字段。
必需。
--operatorVersion
要导出文件的 Atlas Kubernetes Operator 版本。 如果省略,该命令将导出与 Atlas Kubernetes Operator v1.5.1 兼容的文件。
可选。

该命令采用以下参数:

参数
说明
必要性
--projectId
标识项目的唯一的 24 位十六进制字符串。 如果省略,则默认为atlascli配置文件中的projectId值。
必需。
--orgId
唯一的24位十六进制字符串,用于标识要注册项目的 Atlas 组织。如果省略,则默认为atlascli配置文件或ORGID环境变量中的orgId值。
可选。
--clusterName
以逗号分隔的人类可读标签列表,用于标识要导出的集群。这些必须是projectId参数中指定的项目中的集群。如果省略,该命令将导出指定项目中的所有集群。
可选。
--targetNamespace
要将资源导出到的 Kubernetes 命名空间。 该命令使用此参数的值填充每个导出的 Atlas 实体的metadata.namespace字段。
必需。
--operatorVersion
要导出文件的 Atlas Kubernetes Operator 版本。 如果省略,该命令将导出与 Atlas Kubernetes Operator v1.5.1 兼容的文件。
可选。
--kubeContext
Kubeconfig 用于连接到集群的上下文。
必需
--kubeconfig
kubeconfig文件的路径。
必需

atlascli 以版本依赖于 Atlas Kubernetes Operator 的格式从 Atlas 导出配置。下表描述了哪些版本的atlascli支持哪些版本的 Atlas Kubernetes Operator:

atlascli 版本
Atlas Kubernetes Operator 版本
1.4.0
1.5.0

以下示例假设项目名为sampleProject ,其中的集群名为sample1sample2sample3 ,项目 ID 为63500d1139dd494b92fe4376 ,目标命名空间为sampleNamespace

要导出整个项目,包括所有 Atlas 部署和带有凭证的密钥,请运行以下命令:

atlas kubernetes config generate --projectId=63500d1139dd494b92fe4376 \
--includeSecrets --targetNamespace=sampleNamespace

要在没有密钥凭证的情况下从项目中导出两个特定的 Atlas 部署,请运行以下命令:

atlas kubernetes config generate --projectId=63500d1139dd494b92fe4376 \
--clusterName=sample1,sample2 --targetNamespace=sampleNamespace

在前面的命令示例中,您可以通过管道将输出传递到kubectl apply命令,从而将生成的配置应用于 Kubernetes 或 Openshift 集群。 以下命令示例说明了这一点:

atlas kubernetes config generate --projectId=63500d1139dd494b92fe4376 \
--clusterName=sample1,sample2 --targetNamespace=sampleNamespace \
| kubectl apply -f -

或者,您可以通过将stdout重定向到.yaml文件来保存生成的配置。 以下命令在没有密钥凭证的情况下从项目中导入单个 Atlas 部署,并将输出保存到myAtlasProject.yaml

atlas kubernetes config generate --projectId=63500d1139dd494b92fe4376 \
--clusterName=sample3 --targetNamespace=sampleNamespace \
> myAtlasProject.yaml

在这种情况下,要将生成的配置应用于 Kubernetes 或 Openshift 集群,请将.yaml文件作为参数传递给kubectl apply命令。

kubectl apply -f myAtlasProject.yaml

要导出整个项目,请运行以下命令:

atlas kubernetes config apply --projectId=63500d1139dd494b92fe4376 \
--targetNamespace=sampleNamespace

要从项目中导出两个特定的 Atlas 部署,请运行以下命令:

atlas kubernetes config apply --projectId=63500d1139dd494b92fe4376 \
--clusterName=sample1,sample2 --targetNamespace=sampleNamespace
In contrast to ``atlas kubernetes config generate``, this
command directly applies the generated configuration without
any further manual operation on your part.

后退

团队

来年

Data Federation