9.3. 为 IBM Cloud VPC 配置 IAM
在无法访问云身份和访问管理 (IAM) API 的环境中,您必须在安装集群前将 Cloud Credential Operator (CCO) 置于手动模式。
使用安装程序置备的基础架构的 IBM Cloud VPC 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
9.3.1. 在 kube-system 项目中存储管理员级别的 secret 的替代方案
Cloud Credential Operator(CCO)将云供应商凭证作为 Kubernetes 自定义资源定义(CRD)进行管理。您可以通过在 install-config.yaml
文件中为 credentialsMode
参数设置不同的值,将 CCO 配置为满足机构的安全要求。
IBM Cloud 不支持在集群 kube-system
项目中存储管理员级别的凭证 secret;因此,您必须在安装 OpenShift Container Platform 时将 CCO 的 credentialsMode
参数设置为 Manual
,并手动管理云凭证。
使用手动模式可允许每个集群组件只拥有所需的权限,而无需在集群中存储管理员级别的凭证。如果您的环境没有连接到云供应商公共 IAM 端点,您还可以使用此模式。但是,每次升级都必须手动将权限与新发行镜像协调。您还必须手动为每个请求它们的组件提供凭证。
9.3.2. 配置 Cloud Credential Operator 工具
当 Cloud Credential Operator(CCO)以手动模式运行时,要从集群外部创建和管理云凭证,提取并准备 CCO 实用程序(ccoctl
)二进制文件。
ccoctl
工具是在 Linux 环境中运行的 Linux 二进制文件。
先决条件
- 您可以访问具有集群管理员权限的 OpenShift Container Platform 帐户。
-
已安装 OpenShift CLI(
oc
)。
流程
获取 OpenShift Container Platform 发行镜像:
$ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
从 OpenShift Container Platform 发行镜像获取 CCO 容器镜像:
$ CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE)
注意确保
$RELEASE_IMAGE
的架构与将使用ccoctl
工具的环境架构相匹配。将 CCO 容器镜像中的
ccoctl
二进制文件提取到 OpenShift Container Platform 发行镜像中:$ oc image extract $CCO_IMAGE --file="/usr/bin/ccoctl" -a ~/.pull-secret
更改权限以使
ccoctl
可执行:$ chmod 775 ccoctl
验证
要验证
ccoctl
是否可以使用,请显示帮助文件:$ ccoctl --help
ccoctl --help
的输出OpenShift credentials provisioning tool Usage: ccoctl [command] Available Commands: alibabacloud Manage credentials objects for alibaba cloud aws Manage credentials objects for AWS cloud gcp Manage credentials objects for Google cloud help Help about any command ibmcloud Manage credentials objects for IBM Cloud Flags: -h, --help help for ccoctl Use "ccoctl [command] --help" for more information about a command.