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 管理策略管理或调度升级。

注意

如果您的帐户中提供了多个匹配策略,则创建角色时会提供一个交互式选项列表。

Expand
表 3.3. 使用 HCP 的 ROSA 所需的 Operator 角色和 AWS 管理策略
角色名称AWS Managed 策略名称角色描述

openshift-cloud-network-config-controller-credentials

ROSACloudNetworkConfigOperatorPolicy

云网络配置控制器所需的 IAM 角色,用于管理集群的云网络凭证。

openshift-image-registry-installer-cloud-credentials

ROSAImageRegistryOperatorPolicy

ROSA Image Registry Operator 所需的 IAM 角色,用于管理集群的 AWS S3 中的 OpenShift 镜像 registry 存储。

kube-system-kube-controller-manager

ROSAKubeControllerPolicy

在 HCP 集群上管理 OpenShift 所需的 IAM 角色。

kube-system-capa-controller-manager

ROSANodePoolManagementPolicy

HCP 集群上节点管理所需的 IAM 角色。

kube-system-control-plane-operator

ROSAControlPlaneOperatorPolicy

在 HCP 集群上管理 IAM 角色需要 control plane 管理。

kube-system-kms-provider

ROSAKMSProviderPolicy

在 HCP 集群上管理 OpenShift 所需的 IAM 角色。

openshift-ingress-operator-cloud-credentials

ROSAIngressOperatorPolicy

ROSA Ingress Operator 所需的 IAM 角色来管理集群的外部访问。

openshift-cluster-csi-drivers-ebs-cloud-credentials

ROSAAmazonEBSCSIDriverOperatorPolicy

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 角色。

流程

  1. 要创建 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
    Copy to Clipboard Toggle word wrap

    以下分类提供了创建 Operator 角色的选项。

    $ rosa create operator-roles --hosted-cp
    	--prefix=$OPERATOR_ROLES_PREFIX 
    1
    
    	--oidc-config-id=$OIDC_ID 
    2
    
    	--installer-role-arn arn:aws:iam::$AWS_ACCOUNT_ID:role/$ACCOUNT_ROLES_PREFIX-HCP-ROSA-Installer-Role 
    3
    Copy to Clipboard Toggle word wrap
    1
    在创建这些 Operator 角色时,您必须提供一个前缀。如果不这样做,则会产生错误。如需有关 Operator 前缀的信息,请参阅本节的额外资源。
    2
    这个值是您为 Red Hat OpenShift Service on AWS 创建的 OIDC 配置 ID。
    3
    这个值是您在创建 Red Hat OpenShift Service on AWS 帐户角色时创建的安装程序角色 ARN。

    您必须包含 -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/23soa2bgvpek9kmes9s7os0a39i13qm4 
    2
    
    ? 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
    Copy to Clipboard Toggle word wrap

    1
    此字段会预先填充您在初始创建命令中设置的前缀。
    2
    此字段要求您选择为 Red Hat OpenShift Service on AWS 集群创建的 OIDC 配置。

    现在,Operator 角色已创建并可用于创建 Red Hat OpenShift Service on AWS 集群。

验证

  • 您可以列出与 Red Hat OpenShift Service on AWS 帐户关联的 Operator 角色。运行以下命令:

    $ rosa list operator-roles
    Copy to Clipboard Toggle word wrap

    输出示例

    I: Fetching operator roles
    ROLE PREFIX  AMOUNT IN BUNDLE
    <prefix>      8
    ? Would you like to detail a specific prefix Yes 
    1
    
    ? 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
    Copy to Clipboard Toggle word wrap

    1
    命令运行后,它会显示与 AWS 帐户关联的所有前缀,并记录与这个前缀关联的角色数量。如果您需要查看所有这些角色及其详情,请在详情提示符处输入"是",使这些角色以特定形式列出。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat