$ rosa create admin --cluster=<cluster_name>
建议您使用身份提供商 (IDP) 帐户访问您的 Red Hat OpenShift Service on AWS (ROSA) 集群。但是,创建集群的集群管理员可以使用快速访问程序进行访问。
本文档描述了如何使用 ROSA CLI (rosa
) 访问集群并设置 IDP。或者,您可以使用 OpenShift 集群管理器控制台创建 IDP 帐户。
您可以使用此快速访问程序登录到您的集群。
最佳实践是使用 IDP 帐户访问您的集群。 |
输入以下命令
$ rosa create admin --cluster=<cluster_name>
W: It is recommended to add an identity provider to login to this cluster. See 'rosa create idp --help' for more information.
I: Admin account has been added to cluster 'cluster_name'. It may take up to a minute for the account to become active.
I: To login, run the following command:
oc login https://api.cluster-name.t6k4.i1.organization.org:6443 \(1)
--username cluster-admin \
--password FWGYL-2mkJI-3ZTTZ-rINns
1 | 对于具有托管控制平面 (HCP) 集群的 Red Hat OpenShift Service on AWS (ROSA),端口号应为443 。 |
输入oc login
命令、用户名和密码(来自上一条命令的输出)。
$ oc login https://api.cluster_name.t6k4.i1.organization.org:6443 \(1)
> --username cluster-admin \
> --password FWGYL-2mkJI-3ZTTZ-rINns
Login successful.
You have access to 77 projects, the list has been suppressed. You can list all projects with 'projects'
1 | 对于具有 HCP 集群的 ROSA,端口号应为443 。 |
使用默认项目,输入此oc
命令以验证集群管理员访问权限是否已创建
$ oc whoami
cluster-admin
要登录到您的集群,您可以配置一个身份提供商 (IDP)。此过程使用 GitHub 作为示例 IDP。要查看其他受支持的 IDP,请运行rosa create idp --help
命令。
或者,作为创建集群的用户,您可以使用快速访问程序。 |
要使用 IDP 帐户访问您的集群
添加 IDP。
以下命令创建一个由 GitHub 支持的 IDP。运行该命令后,请按照输出中的交互式提示操作,以访问您的GitHub 开发者设置并配置新的 OAuth 应用程序。
$ rosa create idp --cluster=<cluster_name> --interactive
输入以下值
身份提供商类型:github
限制为以下成员:organizations
(如果您没有 GitHub 组织,您可以立即创建一个)
GitHub 组织:rh-test-org
(输入您的组织名称)
I: Interactive mode enabled.
Any optional fields can be left empty and a default will be selected.
? Type of identity provider: github
? Restrict to members of: organizations
? GitHub organizations: rh-test-org
? To use GitHub as an identity provider, you must first register the application:
- Open the following URL:
https://github.com/organizations/rh-rosa-test-cluster/settings/applications/new?oauth_application%5Bcallback_url%5D=https%3A%2F%2Foauth-openshift.apps.rh-rosa-test-cluster.z7v0.s1.devshift.org%2Foauth2callback%2Fgithub-1&oauth_application%5Bname%5D=rh-rosa-test-cluster-stage&oauth_application%5Burl%5D=https%3A%2F%2Fconsole-openshift-console.apps.rh-rosa-test-cluster.z7v0.s1.devshift.org
- Click on 'Register application'
...
按照输出中的 URL 操作,然后选择**注册应用程序**以在您的 GitHub 组织中注册新的 OAuth 应用程序。通过注册应用程序,您可以启用内置于 ROSA 中的 OAuth 服务器,以将您的 GitHub 组织的成员认证到您的集群。
**注册新的 OAuth 应用程序** GitHub 表单中的字段会通过 Red Hat OpenShift Service on AWS (ROSA) CLI ( |
使用您创建的 GitHub 应用程序中的信息并继续提示。输入以下值
客户端 ID:<my_github_client_id>
客户端密钥:[? 寻求帮助] <my_github_client_secret>
主机名:(可选,您可以暂时保留为空)
映射方法:claim
...
? Client ID: <my_github_client_id>
? Client Secret: [? for help] <my_github_client_secret>
? Hostname:
? Mapping method: claim
I: Configuring IDP for cluster 'rh_rosa_test_cluster'
I: Identity Provider 'github-1' has been created. You need to ensure that there is a list of cluster administrators defined. See 'rosa create user --help' for more information. To login into the console, open https://console-openshift-console.apps.rh-test-org.z7v0.s1.devshift.org and click on github-1
配置 IDP 在集群中可能需要 1-2 分钟。
输入以下命令以验证您的 IDP 是否已正确配置
$ rosa list idps --cluster=<cluster_name>
NAME TYPE AUTH URL
github-1 GitHub https://oauth-openshift.apps.rh-rosa-test-cluster1.j9n4.s1.devshift.org/oauth2callback/github-1
登录到您的集群。
输入以下命令以获取集群的控制台 URL
$ rosa describe cluster --cluster=<cluster_name>
Name: rh-rosa-test-cluster1
ID: 1de87g7c30g75qechgh7l5b2bha6r04e
External ID: 34322be7-b2a7-45c2-af39-2c684ce624e1
API URL: https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443 (1)
Console URL: https://console-openshift-console.apps.rh-rosa-test-cluster1.j9n4.s1.devshift.org
Nodes: Master: 3, Infra: 3, Compute: 4
Region: us-east-2
State: ready
Created: May 27, 2020
1 | 对于具有托管控制平面 (HCP) 集群的 Red Hat OpenShift Service on AWS (ROSA),端口号应为443 。 |
导航到控制台 URL
,并使用您的 Github 凭据登录。
在 OpenShift 控制台的右上角,单击您的姓名,然后单击**复制登录命令**。
选择您添加的 IDP 的名称(在本例中为**github-1**),然后单击**显示令牌**。
将oc
登录命令复制并粘贴到您的终端。
$ oc login --token=z3sgOGVDk0k4vbqo_wFqBQQTnT-nA-nQLb8XEmWnw4X --server=https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443 (1)
1 | 对于具有 HCP 集群的 ROSA,请使用端口号443 。 |
Logged into "https://api.rh-rosa-cluster1.j9n4.s1.devshift.org:6443" as "rh-rosa-test-user" using the token provided. (1)
You have access to 67 projects, the list has been suppressed. You can list all projects with 'oc projects'
Using project "default".
1 | 对于具有 HCP 集群的 ROSA,端口号应为443 。 |
输入一个简单的oc
命令以验证一切是否已正确设置以及您是否已登录。
$ oc version
Client Version: 4.4.0-202005231254-4a4cd75
Server Version: 4.3.18
Kubernetes Version: v1.16.2
cluster-admin
访问权限作为创建集群的用户,将cluster-admin
用户角色添加到您的帐户以获得最大的管理员权限。创建集群时,这些权限不会自动分配给您的用户帐户。
此外,只有创建集群的用户才能向其他cluster-admin
或dedicated-admin
用户授予集群访问权限。具有dedicated-admin
访问权限的用户权限较少。最佳实践是尽可能减少cluster-admin
用户的数量。
您已将身份提供商 (IDP) 添加到您的集群。
您拥有您正在创建的用户对应的 IDP 用户名。
您已登录到集群。
授予您的用户cluster-admin
权限
$ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
验证您的用户是否已列为集群管理员
$ rosa list users --cluster=<cluster_name>
GROUP NAME
cluster-admins rh-rosa-test-user
dedicated-admins rh-rosa-test-user
输入以下命令以验证您的用户现在是否具有cluster-admin
访问权限。集群管理员可以无错误地运行此命令,但专用管理员则无法运行。
$ oc get all -n openshift-apiserver
NAME READY STATUS RESTARTS AGE
pod/apiserver-6ndg2 1/1 Running 0 17h
pod/apiserver-lrmxs 1/1 Running 0 17h
pod/apiserver-tsqhz 1/1 Running 0 17h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/api ClusterIP 172.30.23.241 <none> 443/TCP 18h
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/apiserver 3 3 3 3 3 node-role.kubernetes.io/master= 18h
dedicated-admin
访问权限只有创建集群的用户才能向其他cluster-admin
或dedicated-admin
用户授予集群访问权限。具有dedicated-admin
访问权限的用户权限较少。最佳实践是为大多数管理员授予dedicated-admin
访问权限。
您已将身份提供商 (IDP) 添加到您的集群。
您拥有您正在创建的用户对应的 IDP 用户名。
您已登录到集群。
输入以下命令将您的用户提升为dedicated-admin
$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
输入以下命令以验证您的用户现在是否具有dedicated-admin
访问权限
$ oc get groups dedicated-admins
NAME USERS
dedicated-admins rh-rosa-test-user
如果无 |