将 Atlas 项目导入 Atlas Kubernetes Operator
如果您已有 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.