3.8. 为 Nutanix 配置 IAM
安装集群需要 Cloud Credential Operator(CCO)以手动模式运行。虽然安装程序为手动模式配置 CCO,您必须指定身份和访问管理 secret。
先决条件
-
您已配置了
ccoctl
二进制文件。 -
您有一个
install-config.yaml
文件。
流程
按照以下格式创建一个包含凭证数据的 YAML 文件:
凭证数据格式
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,使用安装文件中的发行镜像设置
$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
自定义资源 (CR) 列表:oc adm release extract \ --from=$RELEASE_IMAGE \ --credentials-requests \ --cloud=nutanix \ --to=<path_to_directory_with_list_of_credentials_requests>/credrequests
$ oc adm release extract \ --from=$RELEASE_IMAGE \ --credentials-requests \ --cloud=nutanix \ --to=<path_to_directory_with_list_of_credentials_requests>/credrequests
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定包含组件
CredentialsRequests
对象文件的目录路径。如果指定的目录不存在,这个命令会创建它。
CredentialsRequest
对象示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的集群使用集群功能禁用一个或多个可选组件,请删除任何禁用组件的
CredentialsRequest
自定义资源。Nutanix 上 OpenShift Container Platform 4.12 的
credrequests
目录的内容示例0000_30_machine-api-operator_00_credentials-request.yaml
0000_30_machine-api-operator_00_credentials-request.yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Machine API Operator CR 是必需的。
通过运行以下命令,使用
ccoctl
工具处理credrequests
目录中的所有CredentialsRequest
对象:ccoctl nutanix create-shared-secrets \ --credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \ --output-dir=<ccoctl_output_dir> \ --credentials-source-filepath=<path_to_credentials_file>
$ ccoctl nutanix create-shared-secrets \ --credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \
1 --output-dir=<ccoctl_output_dir> \
2 --credentials-source-filepath=<path_to_credentials_file>
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
install-config.yaml
配置文件,使credentialsMode
参数设置为Manual
。install-config.yaml
配置文件示例apiVersion: v1 baseDomain: cluster1.example.com credentialsMode: Manual ...
apiVersion: v1 baseDomain: cluster1.example.com credentialsMode: Manual
1 ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 添加这一行,将
credentialsMode
参数设置为Manual
。
运行以下命令来创建安装清单:
openshift-install create manifests --dir <installation_directory>
$ openshift-install create manifests --dir <installation_directory>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定包含集群的
install-config.yaml
文件的目录路径。
运行以下命令,将生成的凭证文件复制到目标清单目录中:
cp <ccoctl_output_dir>/manifests/*credentials.yaml ./<installation_directory>/manifests
$ cp <ccoctl_output_dir>/manifests/*credentials.yaml ./<installation_directory>/manifests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
确保
manifests
目录中存在适当的 secret。ls ./<installation_directory>/manifests
$ ls ./<installation_directory>/manifests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow