Dépannage des problèmes d'accès au cluster dans l' IBM Cloud Kubernetes

Résolvez les problèmes liés à l'affichage ou à l'utilisation de votre cluster IBM Cloud Kubernetes en vérifiant vos droits d'accès utilisateur et la configuration de votre groupe de ressources.

Cloud privé virtuel Infrastructure classique

Vous ne trouvez pas de cluster. Lorsque vous exécutez la commande ibmcloud oc cluster ls, le cluster n'apparaît pas dans le résultat. Ou vous ne pouvez pas travailler avec un cluster. Lorsque vous exécutez la commande ibmcloud oc cluster config ou d'autres commandes spécifiques aux clusters, le cluster est introuvable.

Dans IBM Cloud, chaque ressource doit figurer dans un groupe de ressources. Par exemple, le cluster mycluster doit exister dans le groupe de ressources default.

Lorsque le propriétaire du compte vous donne accès aux ressources en vous affectant un rôle d'accès à la plateforme IBM Cloud IAM, l'accès peut être octroyé à une ressource spécifique ou au groupe de ressources. Lorsque l'accès à une ressource spécifique vous a été octroyé, vous n'avez pas accès au groupe de ressources. Dans ce cas, vous n'avez pas besoin de cibler un groupe de ressource pour utiliser les clusters auxquels vous avez accès. Si vous ciblez un autre groupe de ressources que le groupe dans lequel figure le cluster, les actions par rapport à ce cluster risquent d'échouer. Inversement, lorsque l'accès à une ressource vous est affecté dans le cadre de votre accès à un groupe de ressources, vous devez cibler un groupe de ressources pour utiliser un cluster dans ce groupe. Si vous ne ciblez pas votre session d'interface de ligne de commande sur le groupe de ressources dans lequel figure le cluster, les actions par rapport à ce cluster risquent d'échouer.

Si vous ne parvenez pas à trouver ou à travailler avec un cluster, il se peut que vous rencontriez l'un des problèmes suivants :

  • Vous avez accès au cluster et au groupe de ressources dans lequel figure le cluster mais votre session d'interface de ligne de commande n'est pas ciblée sur le groupe de ressources hébergeant le cluster.
  • Vous avez accès au cluster mais pas dans le cadre du groupe de ressources dans lequel figure le cluster. Votre session d'interface de ligne de commande est ciblée sur ce groupe de ressources ou un autre groupe de ressources.
  • Vous n'avez pas accès au cluster.

Pour vérifier vos droits d'accès utilisateur :

  1. Répertoriez tous vos droits utilisateur.

    ibmcloud iam user-policies <your_user_name>
    
  2. Vérifiez si vous avez accès au cluster et au groupe de ressources dans lequel figure le cluster.

    1. Recherchez une règle ayant une valeur Resource Group Name pour le groupe de ressources du cluster et une valeur Memo correspondant à Policy applies to the resource group. Si vous avez cette règle, vous avez accès au groupe de ressources. Par exemple, la politique suivante indique qu'un utilisateur a accès au groupe de ressources 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. Recherchez une règle ayant une valeur **Resource Group Name** pour le groupe de ressources du cluster, une valeur de **Service Name** correspondant à `containers-kubernetes` ou aucune valeur, et une valeur de **Memo** correspondant à `Policy applies to the resource(s) within the resource group`. Si vous disposez de cette politique, vous avez accès aux clusters ou à toutes les ressources du groupe de ressources. Par exemple, la politique suivante indique qu'un utilisateur a accès aux clusters du groupe de ressources `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. Si vous disposez de ces deux règles, passez au premier point de l'étape 4. Si vous ne disposez pas de la règle de l'étape 2a et que vous disposez de la règle de l'étape 2b, passez au deuxième point de l'étape 4. Si vous n'avez pas l'une de ces politiques, passez à l'étape 3.
    
    
  3. Vérifiez si vous avez accès au cluster mais pas dans le cadre de l'accès au groupe de ressources dans lequel figure le cluster.

    1. Recherchez la règle n'ayant aucune valeur pour les zones Policy ID et Roles. Si vous disposez de cette règle, vous avez accès au cluster dans le cadre de l'accès à votre compte complet. Par exemple, la politique suivante indique qu'un utilisateur a accès à toutes les ressources du compte :
        Policy ID:   8898bdfd-d520-49a7-85f8-c0d382c4934e
        Roles:       Administrator, Manager
        Resources:
        Service Name
        Service Instance
        Region
        Resource Type
        Resource
        ```
    2. Recherchez une règle dont la valeur de **Service Name** est `containers-kubernetes` et la valeur de **Service Instance** correspond à l'ID du cluster. Vous pouvez trouver un ID de cluster en exécutant `ibmcloud oc cluster get --cluster <cluster_name>`. Par exemple, la politique suivante indique qu'un utilisateur a accès à un cluster spécifique :
    ```sh {: screen}
        Policy ID:   140555ce-93ac-4fb2-b15d-6ad726795d90
        Roles:       Administrator
        Resources:
        Service Name       containers-kubernetes
        Service Instance   df253b6025d64944ab99ed63bb4567b6
        Region
        Resource Type
        Resource
        ```
    3. Si vous avez l'une de ces règles, passez au deuxième point de l'étape 4. Si vous n'avez pas l'une de ces règles, passez au troisième point de l'étape 4.
    
    
  4. En fonction de vos règles d'accès, choisissez l'une des options suivantes.

    • Si vous avez accès au cluster et au groupe de ressources dans lequel figure le cluster :
      1. Ciblez le groupe de ressources. Vous ne pouvez pas utiliser les clusters d'autres groupes de ressources tant que vous n'avez pas modifié ce groupe de ressources.
        ibmcloud target -g <resource_group>
        
      2. Ciblez le cluster.
        ibmcloud oc cluster config --cluster <cluster_name_or_ID>
        
    • Si vous avez accès au cluster mais pas au groupe de ressources dans lequel figure le cluster :
      1. Ne ciblez pas de groupe de ressources. Si vous avez déjà ciblé un groupe de ressources, supprimez la cible.
        ibmcloud target --unset-resource-group
        
      2. Ciblez le cluster.
        ibmcloud oc cluster config --cluster <cluster_name_or_ID>
        
    • Si vous n'avez pas accès au cluster :
      1. Demandez au propriétaire de votre compte de vous affecter un rôle d'accès à la plateforme IBM Cloud IAM pour ce cluster.
      2. Ne ciblez pas de groupe de ressources. Si vous avez déjà ciblé un groupe de ressources, supprimez la cible.
        ibmcloud target --unset-resource-group
        
      3. Ciblez le cluster.
        ibmcloud oc cluster config --cluster <cluster_name_or_ID>