9.9. 手动创建 IAM
安装集群需要 Cloud Credential Operator(CCO)以手动模式运行。虽然安装程序为手动模式配置 CCO,但您必须为云供应商指定身份和访问管理 secret。
您可以使用 Cloud Credential Operator (CCO)实用程序(ccoctl)创建所需的 IBM Cloud® 资源。
先决条件
-
您已配置了
ccoctl二进制文件。 -
您有一个现有的
install-config.yaml文件。
流程
编辑
install-config.yaml配置文件,使该文件包含credentialsMode参数设置为Manual。install-config.yaml配置文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
credentialsMode:将credentialsMode参数设置为Manual。
-
要生成清单,请在包含安装程序的目录中运行以下命令:
./openshift-install create manifests --dir <installation_directory>
$ ./openshift-install create manifests --dir <installation_directory>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) 列表:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
--included: 仅包含特定集群配置所需的清单。 -
<path_to_directory_with_installation_configuration>: 指定install-config.yaml文件的位置。 <path_to_directory_for_credentials_requests>: 指定您要存储CredentialsRequest对象的目录的路径。如果指定的目录不存在,这个命令会创建它。此命令为每个
CredentialsRequest对象创建一个 YAML 文件。CredentialsRequest对象示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
为每个凭证请求创建服务 ID,分配定义的策略、创建 API 密钥并生成 secret:
ccoctl ibmcloud create-service-id \ --credentials-requests-dir=<path_to_credential_requests_directory> \ --name=<cluster_name> \ --output-dir=<installation_directory> \ --resource-group-name=<resource_group_name>
$ ccoctl ibmcloud create-service-id \ --credentials-requests-dir=<path_to_credential_requests_directory> \ --name=<cluster_name> \ --output-dir=<installation_directory> \ --resource-group-name=<resource_group_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<path_to_credential_requests_directory>: 指定包含CredentialsRequest对象文件的目录。 -
<cluster_name>: 指定 OpenShift Container Platform 集群的名称。 -
<installation_directory>: 可选参数。指定您希望ccoctl实用程序在其中创建对象的目录。默认情况下,实用程序在运行命令的目录中创建对象。 <resource_group_name>: 可选参数。指定用于限制访问策略的资源组名称。注意如果您使用集群的
TechPreviewNoUpgrade功能集启用了技术预览功能,则必须在CredentialsRequest对象的配置中包含-enable-tech-preview参数。如果您提供错误的资源组名称,安装会在 bootstrap 阶段失败。要查找正确的资源组名称,请运行以下命令:
grep resourceGroupName <installation_directory>/manifests/cluster-infrastructure-02-config.yml
$ grep resourceGroupName <installation_directory>/manifests/cluster-infrastructure-02-config.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
验证
-
检查集群的
manifests目录中是否存在适当的 secret。