IBM Cloud におけるクラスタへのアクセスに関する問題のトラブルシューティング Kubernetes
IBM Cloud の Kubernetes クラスターの表示や操作に関する問題を解決するには、ユーザーのアクセス権限とリソースグループの設定を確認してください。
仮想プライベートクラウド クラシック・インフラストラクチャー
クラスタが見つかりません。 ibmcloud oc cluster ls を実行しても、クラスターが出力にリストされません。 あるいは、クラスターで仕事ができない。 ibmcloud oc cluster config やその他のクラスター固有のコマンドを実行しても、クラスターが見つかりません。
IBM Cloud では各リソースが特定のリソース・グループに属している必要があります。 例えば、クラスター mycluster は、default リソース・グループに存在している可能性があります。
アカウント所有者によって IBM Cloud IAM プラットフォーム・アクセス役割を割り当てられてリソースへのアクセス権限を付与されるとき、そのアクセス権限は特定のリソースを対象にしたものである場合と、リソース・グループを対象にしたものである場合があります。 特定のリソースを対象にしたアクセス権限を付与された場合、それが属するリソース・グループへのアクセス権限はありません。 その場合、アクセス権限を持つクラスターを操作するために、そのリソース・グループをターゲットにする必要はありません。 そのクラスターが属するグループとは異なるリソース・グループをターゲットとした場合、そのクラスターに対するアクションは失敗する可能性があります。 反対に、特定のリソース・グループへのアクセス権限の一部として 1 つのリソースへのアクセス権限が付与されている場合、そのグループのクラスターを操作するために、リソース・グループをターゲットとする必要があります。 クラスターが属するリソース・グループをターゲットとして CLI セッションを実行しないと、そのクラスターに対するアクションは失敗する可能性があります。
クラスターが見つからないか、クラスターで作業できない場合は、以下のいずれかの問題が発生している可能性があります。
- クラスターに対するアクセス権限と、そのクラスターが属するリソース・グループに対するアクセス権限はあるが、そのクラスターが属するリソース・グループをターゲットとして CLI セッションが実行されていない。
- クラスターに対するアクセス権限はあるが、それは、そのクラスターが属するリソース・グループの一部として付与されたアクセス権限ではない。 CLI セッションはそのリソース・グループまたは別のリソース・グループをターゲットとしている。
- クラスターに対するアクセス権限がない。
自分のユーザー・アクセス許可を確認するには、以下のようにします。
-
すべてのユーザー権限をリストします。
ibmcloud iam user-policies <your_user_name> -
クラスターに対するアクセス権限と、そのクラスターが属するリソース・グループに対するアクセス権限があるかどうかを確認します。
- **「リソース・グループ名」の値がクラスターのリソース・グループになっていて、「メモ」**の値が
Policy applies to the resource groupになっているポリシーを検索します。 このポリシーがある場合、そのリソース・グループに対するアクセス権限があります。 たとえば、次のポリシーは、あるユーザーが「test-rg」リソースグループにアクセスできることを示しています
Policy ID: 3ec2c069-fc64-4916-af9e-e6f318e2a16c Roles: Viewer Resources: Resource Group ID 50c9b81c983e438b8e42b2e8eca04065 Resource Group Name test-rg Memo Policy applies to the resource group ``` 2. **「リソース・グループ名」**の値がクラスターのリソース・グループになっていて、**「サービス名」**の値が `containers-kubernetes` になっているか値がなく、**「メモ」**の値が`Policy applies to the resource(s) within the resource group`になっているポリシーを検索します。 このポリシーが適用されている場合、クラスター、またはリソースグループ内のすべてのリソースにアクセスできます。 たとえば、次のポリシーは、あるユーザーが「 `test-rg` 」リソースグループ内のクラスターにアクセスできることを示しています ```sh {: screen} Policy ID: e0ad889d-56ba-416c-89ae-a03f3cd8eeea Roles: Administrator Resources: Resource Group ID a8a12accd63b437bbd6d58fb6a462ca7 Resource Group Name test-rg Service Name containers-kubernetes Service Instance Region Resource Type Resource Memo Policy applies to the resource(s) within the resource group ``` 3. これらのポリシーを両方とも持っている場合は、ステップ 4 の最初の黒丸にスキップします。 ステップ 2a のポリシーはないが、ステップ 2b のポリシーはある場合は、ステップ 4 の 2 番目の黒丸にスキップします。 これらのポリシーがいずれもない場合は、ステップ 3 に進みます。 - **「リソース・グループ名」の値がクラスターのリソース・グループになっていて、「メモ」**の値が
-
クラスターに対するアクセス権限はあるが、そのクラスターが属するリソース・グループに対するアクセス権限の一部ではない、という状態になっているかどうかを確認します。
- **「ポリシー ID」フィールドと「役割」**フィールドの横に値がないポリシーを見つけます。 このポリシーがある場合、アカウント全体に対するアクセス権限の一部としてこのクラスターに対するアクセス権限があります。 たとえば、次のポリシーは、 アカウントすべてのリソースにアクセスできることを示しています
Policy ID: 8898bdfd-d520-49a7-85f8-c0d382c4934e Roles: Administrator, Manager Resources: Service Name Service Instance Region Resource Type Resource ``` 2. **「サービス名」**の値が `containers-kubernetes` になっていて、**「サービス・インスタンス」**の値がクラスターの ID になっているポリシーを見つけます。 `ibmcloud oc cluster get --cluster <cluster_name>` を実行すると、クラスター ID を見つけることができます。 たとえば、次のポリシーは、ユーザーが特定のクラスターにアクセスできることを示しています ```sh {: screen} Policy ID: 140555ce-93ac-4fb2-b15d-6ad726795d90 Roles: Administrator Resources: Service Name containers-kubernetes Service Instance df253b6025d64944ab99ed63bb4567b6 Region Resource Type Resource ``` 3. これらのポリシーのいずれかがある場合は、ステップ 4 の 2 番目の黒丸までスキップします。 これらのポリシーのいずれもない場合は、ステップ 4 の 3 番目の黒丸までスキップします。 -
アクセス・ポリシーの状態に応じて、次のオプションのいずれかを選択します。
- クラスターに対するアクセス権限と、そのクラスターが属するリソース・グループに対するアクセス権限がある場合:
- リソース・グループをターゲットとして設定します。 このリソースグループを変更するまでは、他のリソースグループ内のクラスターを操作することはできません。
ibmcloud target -g <resource_group> - クラスターをターゲットとして設定します。
ibmcloud oc cluster config --cluster <cluster_name_or_ID>
- リソース・グループをターゲットとして設定します。 このリソースグループを変更するまでは、他のリソースグループ内のクラスターを操作することはできません。
- クラスターに対するアクセス権限はあるが、そのクラスターが属するリソース・グループに対するアクセス権限はない場合:
- リソース・グループをターゲットとして設定しないでください。 既にリソース・グループをターゲットにしている場合は、ターゲットを削除します。
ibmcloud target --unset-resource-group - クラスターをターゲットとして設定します。
ibmcloud oc cluster config --cluster <cluster_name_or_ID>
- リソース・グループをターゲットとして設定しないでください。 既にリソース・グループをターゲットにしている場合は、ターゲットを削除します。
- クラスターに対するアクセス権がない場合は、以下を行います。
- アカウント所有者に連絡して、そのクラスターに対する IBM CloudIAM プラットフォーム・アクセス役割を自分に割り当ててもらいます。
- リソース・グループをターゲットとして設定しないでください。 既にリソース・グループをターゲットにしている場合は、ターゲットを削除します。
ibmcloud target --unset-resource-group - クラスターをターゲットとして設定します。
ibmcloud oc cluster config --cluster <cluster_name_or_ID>
- クラスターに対するアクセス権限と、そのクラスターが属するリソース・グループに対するアクセス権限がある場合: