E: Failed to create cluster: The sts_user_role is not linked to account '1oNl'. Please create a user role and link it to the account.
尝试使用Red Hat OpenShift Service on AWS (ROSA) CLI (rosa
)创建集群时,您可能会收到错误。
E: Failed to create cluster: The sts_user_role is not linked to account '1oNl'. Please create a user role and link it to the account.
此错误意味着user-role
IAM角色未链接到您的AWS账户。此错误最可能的原因是您的Red Hat组织中的其他用户创建了ocm-role
IAM角色。您需要创建user-role
IAM角色。
任何用户设置与Red Hat账户链接的 |
使用以下命令评估ocm-role
和user-role
IAM角色的状态
$ rosa list ocm-role
I: Fetching ocm roles
ROLE NAME ROLE ARN LINKED ADMIN
ManagedOpenShift-OCM-Role-1158 arn:aws:iam::2066:role/ManagedOpenShift-OCM-Role-1158 No No
$ rosa list user-role
I: Fetching user roles
ROLE NAME ROLE ARN LINKED
ManagedOpenShift-User.osdocs-Role arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role Yes
根据这些命令的结果,您可以创建和链接缺少的IAM资源。
您可以使用命令行界面 (CLI) 创建ocm-role
IAM角色。
您拥有一个AWS账户。
您在OpenShift集群管理器组织中拥有Red Hat组织管理员权限。
您拥有安装AWS账户范围角色所需的权限。
您已在安装主机上安装并配置了最新的Red Hat OpenShift Service on AWS (ROSA) CLI (rosa
)。
要创建具有基本权限的ocm-role IAM角色,请运行以下命令
$ rosa create ocm-role
要创建具有管理员权限的ocm-role IAM角色,请运行以下命令
$ rosa create ocm-role --admin
此命令允许您通过指定特定属性来创建角色。以下示例输出显示了选择的“自动模式”,该模式允许ROSA CLI (rosa
)创建您的操作员角色和策略。有关更多信息,请参阅“附加资源”中的“账户范围角色创建方法”。
I: Creating ocm role
? Role prefix: ManagedOpenShift (1)
? Enable admin capabilities for the OCM role (optional): No (2)
? Permissions boundary ARN (optional): (3)
? Role Path (optional): (4)
? Role creation mode: auto (5)
I: Creating role using 'arn:aws:iam::<ARN>:user/<UserName>'
? Create the 'ManagedOpenShift-OCM-Role-182' role? Yes (6)
I: Created role 'ManagedOpenShift-OCM-Role-182' with ARN 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182'
I: Linking OCM role
? OCM Role ARN: arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182 (7)
? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' role with organization '<AWS ARN>'? Yes (8)
I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-OCM-Role-182' with organization account '<AWS ARN>'
1 | 所有已创建AWS资源的前缀值。在此示例中,ManagedOpenShift 作为所有AWS资源的前缀。 |
||
2 | 选择是否希望此角色拥有额外的管理员权限。
|
||
3 | 用于设置权限边界的策略的Amazon资源名称(ARN)。 | ||
4 | 为用户名指定IAM路径。 | ||
5 | 选择创建AWS角色的方法。使用auto ,ROSA CLI会生成并链接角色和策略。在auto 模式下,您会收到一些不同的提示来创建AWS角色。 |
||
6 | auto 方法会询问您是否要使用您的前缀创建特定的ocm-role 。 |
||
7 | 确认您要将您的IAM角色与您的OpenShift集群管理器关联。 | ||
8 | 将创建的角色与您的AWS组织链接。 |
您可以使用命令行界面 (CLI) 创建user-role
IAM角色。
您拥有一个AWS账户。
您已在安装主机上安装并配置了最新的Red Hat OpenShift Service on AWS (ROSA) CLI (rosa
)。
要创建具有基本权限的user-role
IAM角色,请运行以下命令
$ rosa create user-role
此命令允许您通过指定特定属性来创建角色。以下示例输出显示了选择的“自动模式”,该模式允许ROSA CLI (rosa
)创建您的操作员角色和策略。有关更多信息,请参阅“附加资源”中的“了解自动和手动部署模式”。
I: Creating User role
? Role prefix: ManagedOpenShift (1)
? Permissions boundary ARN (optional): (2)
? Role Path (optional): (3)
? Role creation mode: auto (4)
I: Creating ocm user role using 'arn:aws:iam::2066:user'
? Create the 'ManagedOpenShift-User.osdocs-Role' role? Yes (5)
I: Created role 'ManagedOpenShift-User.osdocs-Role' with ARN 'arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role'
I: Linking User role
? User Role ARN: arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role
? Link the 'arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role' role with account '1AGE'? Yes (6)
I: Successfully linked role ARN 'arn:aws:iam::2066:role/ManagedOpenShift-User.osdocs-Role' with account '1AGE'
1 | 所有已创建AWS资源的前缀值。在此示例中,ManagedOpenShift 作为所有AWS资源的前缀。 |
2 | 用于设置权限边界的策略的Amazon资源名称(ARN)。 |
3 | 为用户名指定IAM路径。 |
4 | 选择创建AWS角色的方法。使用auto ,ROSA CLI会生成并链接角色和策略。在auto 模式下,您会收到一些不同的提示来创建AWS角色。 |
5 | auto 方法会询问您是否要使用您的前缀创建特定的user-role 。 |
6 | 将创建的角色与您的AWS组织链接。 |
您可以使用Red Hat OpenShift Service on AWS (ROSA) CLI (rosa
)将您的AWS账户链接到现有的IAM角色。
您拥有一个AWS账户。
您正在使用OpenShift集群管理器创建集群。
您拥有安装AWS账户范围角色所需的权限。有关更多信息,请参阅本节的“附加资源”。
您已在安装主机上安装并配置了最新的AWS (aws
)和ROSA (rosa
) CLI。
您已创建ocm-role
和user-role
IAM角色,但尚未将它们链接到您的AWS账户。您可以通过运行以下命令来检查您的IAM角色是否已链接
$ rosa list ocm-role
$ rosa list user-role
如果两个角色的Linked
列中都显示Yes
,则表示您已将角色链接到AWS账户。
从CLI中,使用您的Amazon资源名称(ARN)将您的ocm-role
资源链接到您的Red Hat组织
您必须拥有Red Hat组织管理员权限才能运行 |
$ rosa link ocm-role --role-arn <arn>
I: Linking OCM role
? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes
I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
从CLI中,使用您的Amazon资源名称(ARN)将您的user-role
资源链接到您的Red Hat用户账户
$ rosa link user-role --role-arn <arn>
I: Linking User role
? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes
I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
您可以将多个AWS账户关联到您的Red Hat组织。关联多个账户可以让您从Red Hat组织在任何关联的AWS账户上创建Red Hat OpenShift Service on AWS (ROSA)集群。
使用此功能,您可以通过使用多个AWS配置文件作为区域绑定环境在不同的AWS区域创建集群。
您拥有一个AWS账户。
您正在使用OpenShift集群管理器创建集群。
您拥有安装AWS账户范围角色所需的权限。
您已在安装主机上安装并配置了最新的AWS (aws
)和ROSA (rosa
) CLI。
您已创建ocm-role
和user-role
IAM角色。
要关联其他AWS账户,首先在本地AWS配置中创建一个配置文件。然后,通过在其他AWS账户中创建ocm-role
、用户和账户角色,将该账户与您的Red Hat组织关联。
要在其他区域创建角色,请在运行rosa create
命令时指定--profile <aws-profile>
参数,并将<aws_profile>
替换为其他账户配置文件名称。
在创建OpenShift集群管理器角色时指定AWS账户配置文件
$ rosa create --profile <aws_profile> ocm-role
在创建用户角色时指定AWS账户配置文件
$ rosa create --profile <aws_profile> user-role
在创建账户角色时指定AWS账户配置文件
$ rosa create --profile <aws_profile> account-roles
如果您没有指定配置文件,则使用默认的AWS配置文件。 |