3.4. Operator 受管集群功能所需的角色
有些集群功能(包括默认提供的一些功能)通过 Operator 进行管理。集群特定的 Operator 角色(ROSA CLI 中的 Operator角色 )使用 OpenID Connect (OIDC)供应商来临时验证 Operator 对 AWS 资源的访问。
3.4.1. 集群特定 Operator IAM 角色参考 复制链接链接已复制到粘贴板!
Operator 角色用于获取执行集群操作所需的临时权限,如管理后端存储、云入口控制器和对集群的外部访问权限。
在创建 Operator 角色时,匹配的集群版本的 account-wide Operator 策略会附加到角色中。AWS 管理的 Operator 策略在 AWS IAM 中进行了版本化。始终使用 AWS 管理策略的最新版本,因此您不需要为 ROSA 与 HCP 使用的 AWS 管理策略管理或调度升级。
如果您的帐户中提供了多个匹配策略,则创建角色时会提供一个交互式选项列表。
| 角色名称 | AWS Managed 策略名称 | 角色描述 |
|---|---|---|
|
|
| 云网络配置控制器所需的 IAM 角色,用于管理集群的云网络凭证。 |
|
|
| ROSA Image Registry Operator 所需的 IAM 角色,用于管理集群的 AWS S3 中的 OpenShift 镜像 registry 存储。 |
|
|
| 在 HCP 集群上管理 OpenShift 所需的 IAM 角色。 |
|
|
| HCP 集群上节点管理所需的 IAM 角色。 |
|
|
| 在 HCP 集群上管理 IAM 角色需要 control plane 管理。 |
|
|
| 在 HCP 集群上管理 OpenShift 所需的 IAM 角色。 |
|
|
| ROSA Ingress Operator 所需的 IAM 角色来管理集群的外部访问。 |
|
|
| ROSA 需要的 IAM 角色,以通过 Container Storage Interface (CSI) 管理后端存储。 |
3.4.2. 创建 Operator 角色和策略 复制链接链接已复制到粘贴板!
在 AWS 集群上部署 Red Hat OpenShift Service 时,您必须创建 Operator IAM 角色。集群 Operator 使用 Operator 角色和策略获取执行集群操作所需的临时权限,如管理后端存储和对集群的外部访问权限。
先决条件
- 您已完成 Red Hat OpenShift Service on AWS 的 AWS 先决条件。
-
您已在安装主机上安装和配置了最新的 ROSA CLI (
rosa)。 - 您创建了集群范围的 AWS 角色。
流程
要创建 Operator 角色,请运行以下命令:
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role以下分类提供了创建 Operator 角色的选项。
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX1 --oidc-config-id=$OIDC_ID2 --installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/$ACCOUNT_ROLES_PREFIX-HCP-ROSA-Installer-Role3 您必须包含
-hosted-cp参数,以便为 Red Hat OpenShift Service on AWS 集群创建正确的角色。此命令返回以下信息:输出示例
? Role creation mode: auto ? Operator roles prefix: <pre-filled_prefix>1 ? OIDC Configuration ID: 23soa2bgvpek9kmes9s7os0a39i13qm4 | https://dvbwgdztaeq9o.cloudfront.net/23soa2bgvpek9kmes9s7os0a39i13qm42 ? Create hosted control plane operator roles: Yes W: More than one Installer role found ? Installer role ARN: arn:aws:iam::4540112244:role/<prefix>-HCP-ROSA-Installer-Role ? Permissions boundary ARN (optional): I: Reusable OIDC Configuration detected. Validating trusted relationships to operator roles: I: Creating roles using 'arn:aws:iam::4540112244:user/<userName>' I: Created role '<prefix>-openshift-cluster-csi-drivers-ebs-cloud-credentials' with ARN 'arn:aws:iam::4540112244:role/<prefix>-openshift-cluster-csi-drivers-ebs-cloud-credentials' I: Created role '<prefix>-openshift-cloud-network-config-controller-cloud-credenti' with ARN 'arn:aws:iam::4540112244:role/<prefix>-openshift-cloud-network-config-controller-cloud-credenti' I: Created role '<prefix>-kube-system-kube-controller-manager' with ARN 'arn:aws:iam::4540112244:role/<prefix>-kube-system-kube-controller-manager' I: Created role '<prefix>-kube-system-capa-controller-manager' with ARN 'arn:aws:iam::4540112244:role/<prefix>-kube-system-capa-controller-manager' I: Created role '<prefix>-kube-system-control-plane-operator' with ARN 'arn:aws:iam::4540112244:role/<prefix>-kube-system-control-plane-operator' I: Created role '<prefix>-kube-system-kms-provider' with ARN 'arn:aws:iam::4540112244:role/<prefix>-kube-system-kms-provider' I: Created role '<prefix>-openshift-image-registry-installer-cloud-credentials' with ARN 'arn:aws:iam::4540112244:role/<prefix>-openshift-image-registry-installer-cloud-credentials' I: Created role '<prefix>-openshift-ingress-operator-cloud-credentials' with ARN 'arn:aws:iam::4540112244:role/<prefix>-openshift-ingress-operator-cloud-credentials' I: To create a cluster with these roles, run the following command: rosa create cluster --sts --oidc-config-id 23soa2bgvpek9kmes9s7os0a39i13qm4 --operator-roles-prefix <prefix> --hosted-cp现在,Operator 角色已创建并可用于创建 Red Hat OpenShift Service on AWS 集群。
验证
您可以列出与 Red Hat OpenShift Service on AWS 帐户关联的 Operator 角色。运行以下命令:
$ rosa list operator-roles输出示例
I: Fetching operator roles ROLE PREFIX AMOUNT IN BUNDLE <prefix> 8 ? Would you like to detail a specific prefix Yes1 ? Operator Role Prefix: <prefix> ROLE NAME ROLE ARN VERSION MANAGED <prefix>-kube-system-capa-controller-manager arn:aws:iam::4540112244:role/<prefix>-kube-system-capa-controller-manager 4.13 No <prefix>-kube-system-control-plane-operator arn:aws:iam::4540112244:role/<prefix>-kube-system-control-plane-operator 4.13 No <prefix>-kube-system-kms-provider arn:aws:iam::4540112244:role/<prefix>-kube-system-kms-provider 4.13 No <prefix>-kube-system-kube-controller-manager arn:aws:iam::4540112244:role/<prefix>-kube-system-kube-controller-manager 4.13 No <prefix>-openshift-cloud-network-config-controller-cloud-credenti arn:aws:iam::4540112244:role/<prefix>-openshift-cloud-network-config-controller-cloud-credenti 4.13 No <prefix>-openshift-cluster-csi-drivers-ebs-cloud-credentials arn:aws:iam::4540112244:role/<prefix>-openshift-cluster-csi-drivers-ebs-cloud-credentials 4.13 No <prefix>-openshift-image-registry-installer-cloud-credentials arn:aws:iam::4540112244:role/<prefix>-openshift-image-registry-installer-cloud-credentials 4.13 No <prefix>-openshift-ingress-operator-cloud-credentials arn:aws:iam::4540112244:role/<prefix>-openshift-ingress-operator-cloud-credentials 4.13 No- 1
- 命令运行后,它会显示与 AWS 帐户关联的所有前缀,并记录与这个前缀关联的角色数量。如果您需要查看所有这些角色及其详情,请在详情提示符处输入"是",使这些角色以特定形式列出。