$ rosa create account-roles --hosted-cp
在创建使用托管控制平面 (HCP) 的 AWS 上的 Red Hat OpenShift 服务 (ROSA) 集群时,您可以使用您自己的容器网络接口 (CNI) 插件。您可以创建一个没有 CNI 的 ROSA 与 HCP 集群,并在集群创建后安装您自己的 CNI 插件。
对于选择使用自己 CNI 的客户,CNI 插件支持的责任在于客户,并需与其选择的 CNI 供应商协调。 |
使用托管控制平面的 ROSA 的默认插件是 OVN-Kubernetes 网络插件。此插件是 Red Hat 支持的唯一用于 ROSA 与 HCP 的 CNI 插件。
如果您选择对 ROSA 与 HCP 集群使用您自己的 CNI,强烈建议您在创建集群之前从插件供应商处获得商业支持。对于选择使用自己 CNI 的客户,Red Hat 支持无法协助处理与 CNI 相关的問題,例如 Pod 之间的流量。Red Hat 仍然为所有非 CNI 问题提供支持。如果您需要 Red Hat 提供与 CNI 相关的支持,则必须使用默认的 OVN-Kubernetes 网络插件安装集群。有关更多信息,请参阅 责任矩阵。
在使用 Red Hat OpenShift Service on AWS (ROSA) CLI (rosa
) 创建使用托管控制平面 (HCP) 的 Red Hat OpenShift Service on AWS (ROSA) 集群之前,请创建所需的帐户范围角色和策略,包括 Operator 策略。
ROSA 与 HCP 集群需要附加了 AWS 托管策略的帐户和 Operator 角色。不支持客户管理的策略。有关 ROSA 与 HCP 集群的 AWS 托管策略的更多信息,请参阅 AWS 托管策略,用于 ROSA 帐户角色。 |
您已完成 ROSA 与 HCP 的 AWS 先决条件。
您有可用的 AWS 服务配额。
您已在 AWS 控制台中启用 ROSA 服务。
您已在安装主机上安装并配置了最新的 ROSA CLI (rosa
)。
您已使用 ROSA CLI 登录到您的 Red Hat 帐户。
如果它们不存在于您的 AWS 帐户中,请通过运行以下命令创建所需的帐户范围 STS 角色并附加策略
$ rosa create account-roles --hosted-cp
可选:通过运行以下命令将您的前缀设置为环境变量
$ export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
通过运行以下命令查看变量的值
$ echo $ACCOUNT_ROLES_PREFIX
ManagedOpenShift
有关 ROSA 的 AWS 托管 IAM 策略的更多信息,请参阅 用于 ROSA 的 AWS 托管 IAM 策略。
使用 AWS 上的 Red Hat OpenShift 服务集群时,您可以在创建集群之前创建 OpenID Connect (OIDC) 配置。此配置已注册,可与 OpenShift 集群管理器一起使用。
您已在安装主机上安装并配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI,即 rosa
。
要与 AWS 资源一起创建您的 OIDC 配置,请运行以下命令
$ rosa create oidc-config --mode=auto --yes
此命令将返回以下信息。
? Would you like to create a Managed (Red Hat hosted) OIDC Configuration Yes
I: Setting up managed OIDC configuration
I: To create Operator Roles for this OIDC Configuration, run the following command and remember to replace <user-defined> with a prefix of your choice:
rosa create operator-roles --prefix <user-defined> --oidc-config-id 13cdr6b
If you are going to create a Hosted Control Plane cluster please include '--hosted-cp'
I: Creating OIDC provider using 'arn:aws:iam::4540112244:user/userName'
? Create the OIDC provider? Yes
I: Created OIDC provider with ARN 'arn:aws:iam::4540112244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/13cdr6b'
创建集群时,您必须提供 OIDC 配置 ID。CLI 输出为 --mode auto
提供此值,否则您必须根据 aws
CLI 输出确定这些值,用于 --mode manual
。
可选:您可以将 OIDC 配置 ID 保存为变量,以便稍后使用。运行以下命令保存变量
$ export OIDC_ID=<oidc_config_id>(1)
1 | 在上例输出中,OIDC 配置 ID 为 13cdr6b。 |
通过运行以下命令查看变量的值
$ echo $OIDC_ID
13cdr6b
您可以列出与您的用户组织关联的集群可用的 OIDC 配置。运行以下命令
$ rosa list oidc-config
ID MANAGED ISSUER URL SECRET ARN
2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2
233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
使用 ROSA 与 HCP 集群时,必须创建使用托管控制平面 (HCP) 部署的 Red Hat OpenShift Service on AWS (ROSA) 所需的 Operator IAM 角色。集群 Operator 使用 Operator 角色来获取执行集群操作(例如管理后端存储、云提供商凭据和对集群的外部访问)所需的临时权限。
您已完成 ROSA 与 HCP 的 AWS 先决条件。
您已在安装主机上安装并配置了最新的 Red Hat OpenShift Service on AWS ROSA CLI (rosa
)。
您已创建帐户范围的 AWS 角色。
使用以下命令将您的前缀名称设置为环境变量
$ export OPERATOR_ROLES_PREFIX=<prefix_name>
要创建您的 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_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)
1 | 创建这些 Operator 角色时,必须提供前缀。否则会产生错误。请参阅本节的其他资源,了解有关 Operator 前缀的信息。 |
2 | 此值为为您创建的 ROSA 与 HCP 集群的 OIDC 配置 ID。 |
3 | 此值为创建 ROSA 帐户角色时创建的安装程序角色 ARN。 |
您必须包含 --hosted-cp
参数才能为 ROSA 与 HCP 集群创建正确的角色。此命令将返回以下信息。
? 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
1 | 此字段已预先填充您在初始创建命令中设置的前缀。 |
2 | 此字段要求您选择为您的 ROSA 与 HCP 集群创建的 OIDC 配置。 |
Operator 角色现已创建并可用于创建您的 ROSA 与 HCP 集群。
您可以列出与您的 ROSA 帐户关联的 Operator 角色。运行以下命令
$ rosa list operator-roles
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
1 | 命令运行后,它将显示与您的 AWS 帐户关联的所有前缀,并说明有多少角色与该前缀关联。如果您需要查看所有这些角色及其详细信息,请在详细信息提示中输入“是”,以便列出这些角色的具体信息。 |
请参阅 关于自定义 Operator IAM 角色前缀,了解有关 Operator 前缀的信息。
使用 Red Hat OpenShift Service on AWS (ROSA) 命令行界面 (CLI) (`rosa`) 创建集群时,您可以添加可选标志 `--no-cni` 来创建没有 CNI 插件的集群。
您已完成 ROSA 与 HCP 的 AWS 先决条件。
您有可用的 AWS 服务配额。
您已在 AWS 控制台中启用 ROSA 服务。
您已在安装主机上安装并配置了最新的 ROSA CLI (`rosa`)。运行 `rosa version` 查看您当前安装的 ROSA CLI 版本。如果可用更新版本,CLI 将提供下载升级的链接。
您已使用 ROSA CLI 登录到您的 Red Hat 帐户。
您已创建 OIDC 配置。
您已验证 AWS 弹性负载均衡 (ELB) 服务角色存在于您的 AWS 帐户中。
您可以使用以下命令之一创建带有 HCP 集群的 ROSA。
创建带有 HCP 集群的 ROSA 时,默认机器无类别域间路由 (CIDR) 为 `10.0.0.0/16`。如果这与您的 VPC 子网的 CIDR 范围不符,请将 `--machine-cidr |
运行以下命令创建具有单个初始机器池、公共可用 API、公共可用 Ingress 和无 CNI 插件的集群
$ rosa create cluster --cluster-name=<cluster_name> \
--sts --mode=auto --hosted-cp --operator-roles-prefix <operator-role-prefix> \
--oidc-config-id <ID-of-OIDC-configuration> --subnet-ids=<public-subnet-id>,<private-subnet-id> --no-cni
运行以下命令创建具有单个初始机器池、私有可用 API、私有可用 Ingress 和无 CNI 插件的集群
$ rosa create cluster --private --cluster-name=<cluster_name> \
--sts --mode=auto --hosted-cp --subnet-ids=<private-subnet-id> --no-cni
如果您使用 `OIDC_ID`、`SUBNET_IDS` 和 `OPERATOR_ROLES_PREFIX` 变量准备了您的环境,则可以在创建没有 CNI 插件的集群时继续使用这些变量。例如,运行以下命令
$ rosa create cluster --hosted-cp --subnet-ids=$SUBNET_IDS --oidc-config-id=$OIDC_ID --cluster-name=<cluster_name> --operator-roles-prefix=$OPERATOR_ROLES_PREFIX --no-cni
运行以下命令检查集群状态
$ rosa describe cluster --cluster=<cluster_name>
集群达到 `ready` 状态后,您第一次登录集群时,节点仍将处于 `not ready` 状态,直到您安装自己的 CNI 插件。安装 CNI 后,节点将变为 `ready`。 |
随着集群安装的进行,输出中将列出以下 `State` 字段的更改
pending (正在准备帐户)
installing (DNS 设置正在进行中)
installing
ready
如果安装失败或 `State` 字段在 10 分钟后未更改为 `ready`,请查看安装故障排除文档以了解更多详细信息。有关更多信息,请参见《故障排除安装》。有关联系 Red Hat 支持以获得帮助的步骤,请参见《获取 Red Hat OpenShift Service on AWS 支持》。 |
通过监视 Red Hat OpenShift Service on AWS 安装程序日志来跟踪集群创建的进度。要检查日志,请运行以下命令
$ rosa logs install --cluster=<cluster_name> --watch (1)
1 | 可选:要随着安装的进行监视新的日志消息,请使用 `--watch` 参数。 |
安装您的 CNI 插件。然后,节点将从 `not ready` 状态更改为 `ready` 状态。
使用 访问 ROSA 集群 文档访问您的 ROSA 集群。