Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs 菜单
Docs 主页
/ /

将 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自定义资源

该命令采用以下参数:

Parameter
说明
必要性

--projectId

标识项目的唯一的 24 位十六进制字符串。 如果省略,则默认为atlascli配置文件中的projectId值。

必需。

--clusterName

以逗号分隔的人类可读标签列表,用于标识要导出的集群。 这些必须是projectId参数中指定的项目中的集群。 如果省略,该命令将导出指定项目中的所有集群。

可选。

--includeSecrets

用于填充 Atlas 凭证密钥的配置文件中的条目的标志。 如果省略,该命令将创建密钥,但不会使用数据填充该密钥。 密钥将呈现为纯文本。

可选。

--targetNamespace

要将资源导出到的 Kubernetes 命名空间。 该命令使用此参数的值填充每个导出的 Atlas 实体的metadata.namespace字段。

必需。

--operatorVersion

要导出文件的 Atlas Kubernetes Operator 版本。 如果省略,该命令将导出与 Atlas Kubernetes Operator v1.5.1 兼容的文件。

可选。

该命令采用以下参数:

Parameter
说明
必要性

--projectId

标识项目的唯一的 24 位十六进制字符串。 如果省略,则默认为atlascli配置文件中的projectId值。

必需。

--orgId

唯一的 24 位十六进制string ,用于标识要向其注册项目的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.

后退

团队

在此页面上