如果您已有 Kubernetes 部署并希望开始使用 Atlas Kubernetes Operator,则可以使用 Atlas CLI atlas kubernetes config generate
或atlas kubernetes config apply
命令导出 Atlas 项目、部署和数据库用户。
这两个命令都允许您以与 Atlas Kubernetes Operator 兼容的格式导出配置,以便在运行 Atlas Kubernetes Operator 的 Kubernetes 或 Openshift 集群中使用。 atlas kubernetes config generate
命令通过将 YAML格式的配置输出到终端的stdout
来实现此目的,而atlas kubernetes config apply
命令会将配置存储在内存中并将其直接发送到目标 Kubernetes 集群。
Overview
这两个命令都会生成.yaml
格式的配置,其中包括以下 Atlas Kubernetes Operator 资源:
参数
该命令采用以下参数:
Parameter | 说明 | 必要性 |
---|---|---|
| 标识项目的唯一的 24 位十六进制字符串。 如果省略,则默认为 | 必需。 |
| 以逗号分隔的人类可读标签列表,用于标识要导出的集群。 这些必须是 | 可选。 |
| 用于填充 Atlas 凭证密钥的配置文件中的条目的标志。 如果省略,该命令将创建密钥,但不会使用数据填充该密钥。 密钥将呈现为纯文本。 | 可选。 |
| 要将资源导出到的 Kubernetes 命名空间。 该命令使用此参数的值填充每个导出的 Atlas 实体的 | 必需。 |
| 要导出文件的 Atlas Kubernetes Operator 版本。 如果省略,该命令将导出与 Atlas Kubernetes Operator v1.5.1 兼容的文件。 | 可选。 |
该命令采用以下参数:
Parameter | 说明 | 必要性 |
---|---|---|
| 标识项目的唯一的 24 位十六进制字符串。 如果省略,则默认为 | 必需。 |
| 唯一的 24 位十六进制string ,用于标识要向其注册项目的Atlas组织。 如果省略,则默认为 | 可选。 |
| 以逗号分隔的人类可读标签列表,用于标识要导出的集群。 这些必须是 | 可选。 |
| 要将资源导出到的 Kubernetes 命名空间。 该命令使用此参数的值填充每个导出的 Atlas 实体的 | 必需。 |
| 要导出文件的 Atlas Kubernetes Operator 版本。 如果省略,该命令将导出与 Atlas Kubernetes Operator v1.5.1 兼容的文件。 | 可选。 |
|
| 必需 |
|
| 必需 |
兼容性
atlascli
以版本依赖于 Atlas Kubernetes Operator 的格式从 Atlas 导出配置。下表描述了哪些版本的atlascli
支持哪些版本的 Atlas Kubernetes Operator:
atlascli 版本 | Atlas Kubernetes Operator 版本 |
---|---|
1.4.0 | 1.5.0 |
示例
以下示例假设项目名为sampleProject
,其中的集群名为sample1
、 sample2
和sample3
,项目 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.