7.2. IDP アカウントでのクラスターへのアクセス
クラスターにログインするには、アイデンティティープロバイダー (IDP) を設定できます。この手順では、IDP の例として GitHub を使用します。サポートされている他の IDP を表示するには、rosa create idp --help
コマンドを実行します。
または、クラスターを作成したユーザーとして、クイックアクセス手順を使用できます。
手順
IDP アカウントを使用してクラスターにアクセスするには、以下を実行します。
IDP を追加します。
以下のコマンドは、GitHub がサポートする IDP を作成します。コマンドを実行後に、出力の対話式プロンプトに従って GitHub 開発者の設定 にアクセスし、新しい OAuth アプリケーションを設定します。
$ rosa create idp --cluster=<cluster_name> --interactive
以下の値を設定します。
-
アイデンティティープロバイダーのタイプ:
github
-
メンバーの制限:
organizations
(GitHub Organization がない場合は作成可能) -
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 に従い、Register application を選択すると、GitHub の組織に新しい OAuth アプリケーションが登録されます。アプリケーションを登録することで、ROSA に内蔵されている OAuth サーバーが GitHub 組織のメンバーをクラスターに認証することができるようになります。
注記Register a new OAuth application GitHub フォームのフィールドには、Red Hat OpenShift Service on AWS (ROSA) CLI (
rosa
) で定義される URL を介して、必要な値が自動的に入力されます。作成した GitHub アプリケーションの情報を使用し、プロンプトを続行します。以下の値を設定します。
-
クライアント ID:
<my_github_client_id>
-
クライアントシークレット: [? for help]
<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 分かかる場合があります。
-
クライアント 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
クラスターにログインします。
以下のコマンドを実行して、クラスターの
Console 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
- Hosted Control Plane (HCP) クラスターを使用する Red Hat OpenShift Service on AWS (ROSA) の場合、ポート番号は
443
である必要があります。
-
Console URL
に移動し、Github 認証情報を使用してログインします。 - OpenShift コンソールの右上で、名前をクリックして Copy Login Command をクリックします。
- 追加した IDP の名前 (この場合は github-1) を選択し、Display Token をクリックします。
oc
ログインコマンドをコピーし、これをターミナルに貼り付けます。$ oc login --token=z3sgOGVDk0k4vbqo_wFqBQQTnT-nA-nQLb8XEmWnw4X --server=https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443 1
- 1
- ROSA with HCP クラスターの場合は、ポート番号
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
- ROSA with HCP クラスターの場合、ポート番号は
443
である必要があります。
単純な
oc
コマンドを実行して、すべての設定が適切でログインしていることを確認します。$ oc version
出力例
Client Version: 4.4.0-202005231254-4a4cd75 Server Version: 4.3.18 Kubernetes Version: v1.16.2