3.7. 使用 ccoctl 工具为 OpenShift Container Platform 组件创建凭证
您可以使用 OpenShift Container Platform Cloud Credential Operator(CCO)实用程序自动为每个集群组件创建 Alibaba Cloud RAM 用户和策略。
默认情况下,ccoctl
在运行命令的目录中创建对象。要在其他目录中创建对象,请使用 --output-dir
标志。此流程使用 <path_to_ccoctl_output_dir>
来引用这个目录。
先决条件
您必须:
-
提取并准备好
ccoctl
二进制文件。 - 创建具有足够权限来创建 OpenShift Container Platform 集群的 RAM 用户。
-
将 RAM 用户的 AccessKeyID(
access_key_id
)和 AccessKeySecret(access_key_secret
)添加到本地计算机上的~/.alibabacloud/credentials
文件中。
流程
运行以下命令,使用安装文件中的发行镜像设置
$RELEASE_IMAGE
变量:RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
$ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,从 OpenShift Container Platform 发行镜像中提取
CredentialsRequest
对象列表:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意此命令可能需要一些时间才能运行。
运行以下命令,使用
ccoctl
工具处理所有CredentialsRequest
对象:运行以下命令使用该工具:
ccoctl alibabacloud create-ram-users \ --name <name> \ --region=<alibaba_region> \ --credentials-requests-dir=<path_to_credentials_requests_directory> \ --output-dir=<path_to_ccoctl_output_dir>
$ ccoctl alibabacloud create-ram-users \ --name <name> \
1 --region=<alibaba_region> \
2 --credentials-requests-dir=<path_to_credentials_requests_directory> \
3 --output-dir=<path_to_ccoctl_output_dir>
4 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您的集群使用
TechPreviewNoUpgrade
功能集启用的技术预览功能,则必须包含--enable-tech-preview
参数。输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意RAM 用户可以同时具有两个 accessKeys。如果您运行
ccoctl alibabacloud create-ram-users
两次,则之前生成的 manifests secret 将变为过时,您必须重新应用新生成的 secret。验证 OpenShift Container Platform secret 是否已创建:
ls <path_to_ccoctl_output_dir>/manifests
$ ls <path_to_ccoctl_output_dir>/manifests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
openshift-cluster-csi-drivers-alibaba-disk-credentials-credentials.yaml openshift-image-registry-installer-cloud-credentials-credentials.yaml openshift-ingress-operator-cloud-credentials-credentials.yaml openshift-machine-api-alibabacloud-credentials-credentials.yaml
openshift-cluster-csi-drivers-alibaba-disk-credentials-credentials.yaml openshift-image-registry-installer-cloud-credentials-credentials.yaml openshift-ingress-operator-cloud-credentials-credentials.yaml openshift-machine-api-alibabacloud-credentials-credentials.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以通过查询 Alibaba Cloud 来验证是否创建了 RAM 用户和策略。如需更多信息,请参阅 Alibaba Cloud 文档中有关列出 RAM 用户和策略的内容。
将生成的凭证文件复制到目标清单目录中:
cp ./<path_to_ccoctl_output_dir>/manifests/*credentials.yaml ./<path_to_installation>dir>/manifests/
$ cp ./<path_to_ccoctl_output_dir>/manifests/*credentials.yaml ./<path_to_installation>dir>/manifests/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
<path_to_ccoctl_output_dir>
-
指定
ccoctl alibabacloud create-ram-users
命令创建的目录。 <path_to_installation_dir>
- 指定安装程序在其中创建文件的目录。