7.2. 使用 IDP 帐户访问集群
要登录到集群,您可以配置身份提供程序(IDP)。此流程使用 GitHub 作为示例 IDP。要查看其他支持的 IDP,请运行 rosa create idp --help
命令。
或者,作为创建集群的用户,您可以使用快速访问过程。
流程
使用 IDP 帐户访问集群:
添加 IDP。
以下命令创建一个由 GitHub 支持的 IDP。运行此命令后,按照输出中的交互式提示访问 GitHub 开发人员设置 并配置新的 OAuth 应用。
$ rosa create idp --cluster=<cluster_name> --interactive
输入以下值:
-
身份提供程序类型:
github
-
Restrict to members of:
organizations
(如果您没有 GitHub 机构,您可以立即创建一个) -
GitHub organizations:
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 并选择 Register application,在 GitHub 组织中注册新的 OAuth 应用程序。通过注册应用程序,您可以启用 ROSA 中构建的 OAuth 服务器,以便验证您的 GitHub 组织的成员到集群中。
注意Register a new OAuth application GitHub 表单中的字段通过 Red Hat OpenShift Service on AWS (ROSA) CLI 定义的 URL 自动填充所需的值。
使用您创建的 GitHub 应用程序的信息并继续提示。输入以下值:
-
客户端 ID: &
lt;my_github_client_id>
-
Client Secret: [? for help] <
;my_github_client_secret>
- hostname :(可选,您可以立即将其留空)
-
映射方法:
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 分钟。
-
客户端 ID: &
输入以下命令验证您的 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
- 对于托管 control plane (HCP)集群的 Red Hat OpenShift Service on AWS (ROSA),端口号应为
443。
-
导航到
Console URL
,再使用 Github 凭据登录。 - 在 OpenShift 控制台右上角,点您的名称并点击 Copy Login Command。
- 选择您添加的 IDP 的名称(在这里是 github-1),然后点 Display Token。
将
oc
login 命令复制并粘贴到终端中。$ 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