Octroi à Satellite Config d'un accès à vos clusters

Par défaut, les composants Satellite Config sont automatiquement installés dans les clusters créés dans un emplacement Satellite. Toutefois, vous devez accorder aux comptes de service utilisés par Satellite Config l'accès approprié pour afficher et gérer des ressources Kubernetes sur chaque cluster.

La configuration Satellite requiert un accès administrateur à vos clusters pour les gérer. Vous pouvez configurer l'accès de l'une des manières suivantes.

  • Automatiquement lors de la création du cluster. Choisissez cette option si vous souhaitez utiliser des modèles de stockage Satellite.
  • manuellement après la création du cluster. Choisissez cette option si vous souhaitez un accès plus contrôlé et que vous ne prévoyez pas d'utiliser des modèles de stockage Satellite.

Si vous n'accordez pas l'accès pour la configuration Satellite, vous ne pourrez pas utiliser la fonctionnalité de configuration Satellite ultérieurement pour afficher ou déployer des ressources Kubernetes pour vos clusters.

Accorder automatiquement l'accès à la configuration d' Satellite s à vos clusters

Vous pouvez autoriser l'accès d' Satellite Config à votre cluster en spécifiant l'option correspondante lors de la création du cluster.

Pour accorder à Satellite l'accès de configuration pour gérer les ressources Kubernetes à partir de la console, sélectionnez Activer l'accès administrateur de cluster pour Satellite Config lorsque vous créez le cluster. Pour configurer l'accès avec l'interface de ligne de commande, spécifiez l'option --enable-config-admin lorsque vous créez le cluster.

Si vous n'avez pas accordé l'accès à la configuration Satellite au moment de la création du cluster, suivez les étapes de la rubrique Octroi manuel de l'accès à la configuration Satellite à vos clusters.

Accorder manuellement l'accès à la configuration d' Satellite s à vos clusters

Si vous n'avez pas accordé l'accès à Satellite Config à votre cluster lors de sa création, vous pouvez toujours configurer cet accès manuellement.

Choisissez l'une des options décrites ci-après.

  • Accès administrateur lorsque vous créez un cluster Satellite: Vous pouvez activer les droits d'accès administrateur lorsque vous créez le cluster dans la console ou dans l'interface de ligne de commande à l'aide de l'option --enable-config-admin dans la commande ibmcloud oc cluster create satellite. Après avoir créé le cluster, vous devez effectuer une connexion unique en exécutant la commande ibmcloud ks cluster config dans la ligne de commande.
  • Accès administrateur pour les clusters dans le cloud public: voir Enregistrement des clusters existants avec Satellite Config.
  • Accès personnalisé ou accès pour les clusters Satellite que vous n'avez pas choisis pour l'accès administrateur : Suivez la procédure ci-après.

Accès personnalisé ou accès pour les clusters Satellite que vous n'avez pas choisis pour l'accès administrateur lors de la création du cluster.

  1. Accédez à votre cluster Satellite.

  2. Pour chaque cluster du groupe de clusters, accordez à Satellite Config un accès pour gérer des ressources Kubernetes. Sélectionnez l'une des options suivantes : accès administrateur au cluster, accès personnalisé à l'ensemble du cluster ou accès personnalisé au niveau d'un projet Pour plus d'informations, consultez la documentation d' Kubernetes.

    Si vous choisissez une option d'accès personnalisée, certains composants de la configuration d' Satellite ne fonctionnent pas. Par exemple, si vous accordez un accès en lecture seule à certaines ressources, vous ne pouvez pas utiliser les abonnements pour créer des ressources Kubernetes dans votre groupe de clusters. Pour afficher un inventaire des ressources Kubernetes dans un cluster, Satellite Config doit posséder un rôle approprié qui est lié au compte de service razee-viewer. Pour déployer des ressources d' Kubernetes s sur un cluster à l'aide d'abonnements, un rôle approprié doit être associé au compte de service razee-editor dans Satellite Config.

Accès administrateur au cluster

Accordez aux comptes de service Satellite Config un rôle d'administrateur pour l'accès au cluster.

kubectl create clusterrolebinding razee-cluster-admin --clusterrole=razee-cluster-admin --serviceaccount=razeedeploy:razee-viewer --serviceaccount=razeedeploy:razee-editor --serviceaccount=razeedeploy:razee-satcon

Accès personnalisé à l'ensemble du cluster

Créez des règles RBAC personnalisées pour accorder à Satellite Config un accès aux actions et aux ressources Kubernetes à appliquer au cluster.

  1. Créez un rôle de cluster avec les actions et les ressources que vous souhaitez accorder. Par exemple, la commande suivante crée un rôle Afficheur qui permet à Satellite Config d'afficher la liste de toutes les ressources Kubernetes d'un cluster sans autoriser leur modification :

    kubectl create clusterrole razee-viewer --verb=get,list,watch --resource="*.*"
    
    Description des composantes de cette commande
    Composant Description
    razee-viewer Nom du rôle de cluster, tel que razee-viewer.
    --verb=get,list,watch Liste d'actions séparées par des virgules que le rôle autorise. Dans cet exemple, les verbes d'action sont des rôles courants pour un afficheur ou un auditeur, comme get,list,watch. Pour d'autres verbes possibles, consultez la documentation Kubernetes.
    --resource="*.*" Liste de ressources Kubernetes séparées par des virgules pour lesquelles le rôle autorise des actions. Dans cet exemple, l'accès est accordé pour toutes les ressources Kubernetes dans tous les groupes d'API, "*.*". Pour connaître les autres ressources possibles, exécutez la commande kubectl api-resources -o wide.
  2. Créez une liaison de rôle de cluster qui lie le compte de service Satellite Config au rôle de cluster que vous avez créé précédemment. Satellite Config dispose désormais d'un accès personnalisé au cluster.

    kubectl create clusterrolebinding razee-viewer --clusterrole=razee-viewer --serviceaccount=razeedeploy:razee-viewer
    
    Description des composantes de cette commande
    Composant Description
    razee-viewer Nom de la liaison de rôle de cluster, tel que razee-viewer.
    --clusterrole=razee-viewer Nom du rôle de cluster que vous avez précédemment créé, tel que razee-viewer.
    --serviceaccount=razeedeploy:razee-viewer Nom de l'un des comptes de service que les composants Satellite Config doivent utiliser par défaut, à savoir razeedeploy:razee-viewer ou razeedeploy:razee-editor.

Accès personnalisé au niveau d'un projet

Créez des règles RBAC personnalisées pour accorder à Satellite Config un accès à des actions, à des ressources Kubernetes et à des projets (espaces de noms).

  1. Créez un rôle avec les actions et les ressources à accorder dans le projet pour lequel vous souhaitez définir la portée du rôle. Par exemple, la commande suivante crée un rôle Editeur qui permet à Satellite Config de déployer et de mettre à jour toutes les ressources Kubernetes dans le projet :

    kubectl create role razee-editor --namespace=default --verb=get,list,watch,create,update,patch,delete --resource="*.*"
    
    Description des composantes de cette commande
    Composant Description
    razee-editor Nom du rôle de cluster, tel que razee-editor.
    --namespace default Projet (espace de nom) auquel appliquer la portée du rôle, par exemple default.
    --verb=get,list,watch,create,update,patch,delete Liste d'actions séparées par des virgules que le rôle autorise. Dans cet exemple, les verbes d'action sont des rôles courants pour un éditeur, comme get,list,watch,create,update,patch,delete. Pour d'autres verbes possibles, consultez la documentation Kubernetes.
    --resource="*.*" Liste de ressources Kubernetes séparées par des virgules pour lesquelles le rôle autorise des actions. Dans cet exemple, l'accès est accordé pour toutes les ressources Kubernetes dans tous les groupes d'API, "*.*". Pour connaître les autres ressources possibles, exécutez la commande kubectl api-resources -o wide.
  2. Créez une liaison de rôle qui lie le compte de service Satellite Config au rôle de cluster que vous avez créé précédemment. Satellite Config dispose désormais d'un accès personnalisé au cluster.

    kubectl create rolebinding razee-editor --namespace=default --role=razee-editor --serviceaccount=razeedeploy:razee-editor
    
    Description des composantes de cette commande
    Composant Description
    razee-editor Nom de la liaison de rôle, par exemple razee-editor.
    --namespace default Projet (espace de nom) auquel appliquer la liaison de rôle, par exemple default. L'espace de noms doit correspondre à l'espace de noms dans lequel se trouve le rôle.
    --role=razee-editor Nom du rôle que vous avez précédemment créé, tel que razee-editor.
    --serviceaccount=razeedeploy:razee-editor Nom de l'un des comptes de service que les composants Satellite Config doivent utiliser par défaut, à savoir razeedeploy:razee-viewer ou razeedeploy:razee-editor.

Continuez à configurer des groupes de clusters et à enregistrer des clusters avec Satellite Config.