Accès à un cluster avec l'option Headlamp
Découvrez comment utiliser Headlamp pour visualiser et gérer les clusters que vous avez créés à l'aide de Kubernetes Engine (OKE).
Headlamp est une interface utilisateur Kubernetes open source que vous pouvez utiliser pour inspecter les charges de travail, afficher les journaux et les événements, modifier les ressources, dépanner les applications et effectuer les opérations autorisées par vos droits d'accès RBAC Kubernetes. Vous pouvez exécuter Headlamp en tant qu'application de bureau ou le déployer dans un cluster Kubernetes.
Le projet Kubernetes en amont recommande Headlamp en remplacement de Kubernetes Dashboard. Le projet de tableau de bord Kubernetes a été archivé et n'est plus maintenu. Headlamp fournit des workflows de gestion de cluster similaires, ainsi que la prise en charge de plusieurs clusters, l'extensibilité et les options de déploiement de bureau et en cluster. Pour plus d'informations, reportez-vous à Du tableau de bord Kubernetes au projecteur : compréhension de la transition.
Choisissez comment exécuter le projecteur en fonction de la façon dont vous souhaitez accéder aux clusters :
- Pour les administrateurs et les développeurs individuels, utilisez Headlamp Desktop. Headlamp Desktop est exécuté sur votre poste de travail et se connecte aux clusters à l'aide du fichier Kubernetes kubeconfig. Il n'est pas nécessaire de déployer des composants Headlamp dans chaque cluster.
- Pour une interface basée sur un navigateur partagé, déployez Headlamp dans un cluster. Le projet Headlamp fournit un graphique Helm pour les déploiements en cluster.
Dans les deux cas, l'authentification Kubernetes et le contrôle d'accès basé sur les rôles déterminent les ressources que les utilisateurs peuvent afficher et les opérations qu'ils peuvent effectuer.
Utilisation du bureau des projecteurs
Utilisez Headlamp Desktop lorsque vous souhaitez accéder à un ou plusieurs clusters à partir d'une station de travail sans déployer Headlamp dans les clusters.
Pour utiliser Headlamp Desktop pour accéder à un cluster :
-
Si vous ne l'avez pas encore fait, suivez les étapes permettant de configurer le fichier de configuration Kubeconfig du cluster et (si nécessaire) de définir la variable d'environnement KUBECONFIG de sorte qu'elle pointe vers le fichier. Vous devez configurer votre propre fichier Kubeconfig. Vous ne pouvez pas accéder à un cluster à l'aide d'un fichier Kubeconfig configuré par un autre utilisateur. Reportez-vous à Configuration de l'accès à un cluster.
-
Vérifiez que le fichier kubeconfig contient le contexte Kubernetes du cluster auquel vous voulez accéder en saisissant la commande suivante :
kubectl config get-contexts -
Installez Headlamp Desktop en suivant les instructions de votre système d'exploitation dans la documentation sur Headlamp Desktop.
Par exemple, sur macOS, vous pouvez installer Headlamp Desktop à l'aide de Homebrew en saisissant :
brew install --cask headlamp - Démarrez le bureau des projecteurs.
- Sélectionnez le cluster ou le contexte Kubernetes auquel vous voulez accéder.
- Terminez l'authentification si vous y êtes invité.
Le projecteur affiche les ressources Kubernetes auxquelles l'identité du fichier kubeconfig est autorisée à accéder. Les opérations disponibles dans Headlamp dépendent des droits d'accès RBAC Kubernetes accordés à cette identité.
Etant donné que Headlamp Desktop est exécuté sur votre poste de travail, il ne consomme pas de ressources de noeud de processus actif et n'est pas lui-même soumis à des restrictions de charge de travail de noeud virtuel.
Installation du projecteur dans le cluster
Déployez Headlamp dans un cluster lorsque vous souhaitez fournir une interface basée sur un navigateur partagé.
Avant d'installer Headlamp, assurez-vous que :
- Vous avez configuré l'accès au cluster. Vous pouvez vérifier l'accès en entrant
kubectl get nodes. Reportez-vous à Configuration de l'accès à un cluster. - Helm est installé et disponible dans votre environnement. Vous pouvez vérifier l'installation en saisissant
helm version. - Votre identité Kubernetes dispose de droits d'accès suffisants pour créer les ressources dans le graphique Helm Headlamp.
Pour installer Headlamp à l'aide de Helm :
-
Ajoutez le référentiel Headlamp Helm en saisissant :
helm repo add headlamp https://kubernetes-sigs.github.io/headlamp/helm repo update -
Créez un espace de noms pour Headlamp en saisissant la commande suivante :
kubectl create namespace headlamp -
Installez le projecteur en saisissant :
helm install headlamp headlamp/headlamp --namespace headlamp -
Vérifiez l'installation:
kubectl get deployment,pods,service -n headlampAttendez que le pod de phare soit en cours d'exécution et prêt.
Authentification auprès d'un déploiement de projecteur dans le cluster
Headlamp utilise l'authentification Kubernetes et le contrôle d'accès basé sur les rôles pour déterminer les ressources de cluster auxquelles les utilisateurs peuvent accéder.
Pour vous authentifier au déploiement de projecteur installé à l'aide du graphique Helm :
-
Vérifiez le compte de service Headlamp en saisissant :
kubectl get serviceaccount headlamp -n headlamp -
Vérifiez ClusterRoleBinding en saisissant ce qui suit :
kubectl get clusterrolebinding headlamp-admin -o yamlImportant
Par défaut, le graphique Helm Headlamp crée une liaison ClusterRoleBinding
headlamp-adminqui accorde le rôlecluster-adminau compte de serviceheadlamp. Le rôlecluster-adminfournit un accès illimité au cluster. Pour une utilisation en production, accordez uniquement les droits d'accès requis pour votre environnement. -
Créez un jeton temporaire pour le compte de service Headlamp en saisissant :
kubectl create token headlamp -n headlamp -
Copiez le jeton à partir de la sortie de commande. Vous entrez ce jeton lorsque vous accédez à Headlamp.
Pour les déploiements partagés, envisagez de configurer l'authentification OpenID Connect (OIDC) au lieu de distribuer des jetons de compte de service. Reportez-vous à la documentation sur le projecteur dans le cluster.
Accès à un déploiement de projecteur dans le cluster
Pour l'accès administratif local, vous pouvez utiliser kubectl port-forward pour accéder au service Headlamp.
-
Transférez le port local 8080 vers le service de phare en entrant :
kubectl port-forward -n headlamp service/headlamp 8080:80 -
Ouvrez un navigateur et accédez à:
http://localhost:8080 - Lorsque vous y êtes invité, entrez le jeton d'authentification que vous avez créé précédemment.
La commande kubectl port-forward n'est pas prise en charge pour les pods exécutés sur des noeuds virtuels. Si le pod Headlamp est exécuté sur un noeud virtuel, exposez-le à l'aide d'une méthode d'accès entrante ou d'une autre méthode d'accès prise en charge par votre environnement.
Pour l'accès de production partagé, configurez l'entrée, TLS et un mécanisme d'authentification approprié plutôt que de compter sur le transfert de port. Reportez-vous à la documentation sur le projecteur dans le cluster.
Utilisation d'un projecteur avec des noeuds virtuels
Vous pouvez utiliser Headlamp avec des clusters qui contiennent des pools de noeuds virtuels.
- Headlamp Desktop s'exécute en dehors du cluster et n'est pas lui-même soumis à des restrictions de charge de travail de noeud virtuel. Les charges de travail que vous inspectez ou gérez restent soumises aux capacités et aux limites du type de noeud sur lequel elles s'exécutent.
- Un déploiement de projecteur intégré au cluster s'exécute en tant que pods Kubernetes. Si les pods Headlamp sont programmés sur des noeuds virtuels, ils sont soumis aux mêmes contraintes de fonctionnalité, de réseau, de stockage et de ressource Kubernetes que les autres charges globales exécutées sur des noeuds virtuels.
En particulier, kubectl port-forward n'est pas pris en charge pour les pods sur les noeuds virtuels. Reportez-vous à Comparaison de noeuds virtuels avec des noeuds gérés et à Ressources allouées aux pods provisionnés par des noeuds virtuels.
Vérification de l'accès aux projecteurs
Après la connexion au cluster à l'aide du projecteur :
- Sélectionnez le groupe.
- Sélectionner un espace de noms.
- Ouvrez Charges de travail.
- Sélectionnez Déploiements ou Pods.
- Sélectionnez une ressource pour afficher ses détails, événements, journaux et ressources associées.
Les ressources et les opérations affichées dépendent des droits d'accès RBAC Kubernetes accordés à l'identité utilisée pour accéder au cluster.
Si le serveur de mesures Kubernetes est installé dans le cluster, Headlamp peut également afficher des informations sur l'utilisation des ressources. Pour plus d'informations sur le serveur de mesures Kubernetes, reportez-vous à Déploiement du serveur de mesures Kubernetes sur un cluster.
Suppression d'un déploiement de projecteur dans le cluster
Pour enlever le déploiement de projecteur créé dans cette rubrique :
-
Désinstallez la version Helm du projecteur en entrant :
helm uninstall headlamp -n headlamp -
Supprimez l'espace de noms Headlamp en saisissant ce qui suit :
kubectl delete namespace headlamp
La suppression du bureau des projecteurs de votre poste de travail ne modifie pas les clusters auxquels vous avez accédé.