5.2.2. 手动创建 IAM
在无法访问云身份和访问管理(IAM)API 的环境中,或者管理员更不希望将管理员级别的凭证 secret 存储在集群 kube-system
命名空间中时,可以在安装前将 Cloud Credential Operator(CCO)放入手动模式。
流程
切换到包含安装程序的目录并创建
install-config.yaml
文件:$ openshift-install create install-config --dir <installation_directory>
其中
<installation_directory>
是安装程序在其中创建文件的目录。编辑
install-config.yaml
配置文件,把其中的credentialsMode
参数设置为Manual
。示例
install-config.yaml
配置文件apiVersion: v1 baseDomain: cluster1.example.com credentialsMode: Manual 1 compute: - architecture: amd64 hyperthreading: Enabled ...
- 1
- 添加这一行将
credentialsMode
参数设置为Manual
。
要生成清单,请在包含安装程序的目录中运行以下命令:
$ openshift-install create manifests --dir <installation_directory>
从包含安装程序的目录中,获取
openshift-install
二进制文件要使用的 OpenShift Container Platform 发行镜像详情:$ openshift-install version
输出示例
release image quay.io/openshift-release-dev/ocp-release:4.y.z-x86_64
针对您要部署到的云,找到此发行版本镜像中的所有
CredentialsRequests
对象:$ oc adm release extract quay.io/openshift-release-dev/ocp-release:4.y.z-x86_64 --credentials-requests --cloud=azure
此命令为每个
CredentialsRequest
对象创建一个 YAML 文件。CredentialsRequest
对象示例apiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: labels: controller-tools.k8s.io: "1.0" name: openshift-image-registry-azure namespace: openshift-cloud-credential-operator spec: secretRef: name: installer-cloud-credentials namespace: openshift-image-registry providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: AzureProviderSpec roleBindings: - role: Contributor
-
在之前生成的
openshift-install
清单目录中为 secret 创建 YAML 文件。secret 必须使用在spec.secretRef
中为每个credentialsRequest
定义的命名空间和 secret 名称存储 。secret 数据的格式因云供应商而异。 从包含安装程序的目录中,开始创建集群:
$ openshift-install create cluster --dir <installation_directory>
重要在升级使用手动维护凭证的集群前,必须确保 CCO 处于可升级状态。详情请参阅您的云供应商的安装内容"使用手动维护凭证对集群进行升级"部分。