For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/containers-orchestration/managed-kubernetes/install-kubernetes-dashboard.md.

Installer le Kubernetes Dashboard sur OVHcloud Managed Kubernetes

Voir en Markdown

Découvrez comment installer le Kubernetes Dashboard sur votre OVHcloud Managed Kubernetes Service

Le Kubernetes Dashboard est une interface web polyvalente pour les clusters Kubernetes. Elle permet aux utilisateurs de gérer et de diagnostiquer les applications s'exécutant dans leur cluster, ainsi que de gérer le cluster lui-même.

kubernetes-dashboard

Avant de commencer

Ce tutoriel suppose que vous disposez déjà d'un cluster OVHcloud Managed Kubernetes fonctionnel, ainsi que de connaissances de base sur son utilisation. Pour en savoir plus sur ces sujets, consultez le guide de démarrage rapide OVHcloud Managed Kubernetes Service.

Info

Ce tutoriel décrit la façon la plus simple d'utiliser le Dashboard avec votre cluster OVHcloud Managed Kubernetes. Pour une compréhension plus approfondie, notamment sur des sujets comme le contrôle d'accès, reportez-vous à la documentation officielle.

Déployer le Dashboard dans votre cluster

Selon la version de Kubernetes que vous utilisez, vous devez choisir la version du Dashboard à déployer pour éviter les incompatibilités.

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

Le résultat affiché devrait ressembler à ceci :

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created

Créer un jeton d'authentification (RBAC)

Pour accéder au Dashboard, vous devez créer un nouvel utilisateur à l'aide du mécanisme de compte de service (service account) de Kubernetes. Accordez à cet utilisateur des permissions d'administrateur, puis connectez-vous au Dashboard à l'aide de son bearer token. Voici ces étapes en détail.

Créer un compte de service

Commencez par créer un compte de service nommé admin-user dans le namespace kubernetes-dashboard.

Pour cela, copiez le YAML suivant dans un fichier dashboard-service-account.yml :

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard

Appliquez ensuite le fichier pour ajouter le compte de service à votre cluster :

kubectl apply -f dashboard-service-account.yml

Le résultat affiché devrait ressembler à ceci :

$ kubectl apply -f dashboard-service-account.yml
serviceaccount/admin-user created

Créer un RoleBinding

En utilisant le rôle cluster-admin de votre cluster, créez un RoleBinding en le liant à votre ServiceAccount.

Pour cela, copiez le YAML suivant dans un fichier dashboard-cluster-role-binding.yml :

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard

Appliquez ensuite le fichier pour ajouter le RoleBinding à votre cluster :

kubectl apply -f dashboard-cluster-role-binding.yml

Le résultat affiché devrait ressembler à ceci :

$ kubectl apply -f dashboard-cluster-role-binding.yml
clusterrolebinding.rbac.authorization.k8s.io/admin-user created

Créer un Secret ServiceAccountToken

Depuis Kubernetes v1.24.0, les objets Secret contenant des jetons de compte de service ne sont plus générés automatiquement pour chaque ServiceAccount. Vous devez donc le créer vous-même.

Pour cela, copiez le YAML suivant dans un fichier service-account-token.yml :

apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
  name: admin-user-token
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/service-account.name: admin-user

Appliquez ensuite le fichier pour ajouter le Secret à votre cluster :

kubectl apply -f service-account-token.yml

Le résultat affiché devrait ressembler à ceci :

$ kubectl apply -f service-account-token.yml
secret/admin-user-token created

Bearer token

L'étape suivante consiste à récupérer le bearer token qui vous permettra de vous connecter à votre Dashboard. Exécutez la commande suivante :

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user-token | awk '{print $1}')

Le résultat affiché devrait ressembler à ceci :

$ kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user-token | awk '{print $1}')
Name:         admin-user-token
Namespace:    kubernetes-dashboard
Labels:       `<none>`
Annotations:  kubernetes.io/service-account.name: admin-user
              kubernetes.io/service-account.uid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1801 bytes
namespace:  20 bytes
token:      `<sensitive>`

Copiez le jeton et conservez-le en lieu sûr, car il constitue votre clé d'accès au Dashboard.

Accéder au Dashboard

Pour accéder au Dashboard depuis votre poste de travail local, vous devez créer un canal sécurisé vers votre cluster OVHcloud Managed Kubernetes. Pour cela, utilisez kubectl comme proxy entre votre poste de travail et le cluster :

kubectl proxy

Votre kubectl ouvre une connexion et agit comme proxy entre votre poste de travail et le cluster. Toute requête HTTP adressée à votre port local (8001) sera relayée et transmise à l'API du cluster.

$ kubectl proxy
Starting to serve on 127.0.0.1:8001

Ensuite, accédez au Dashboard à l'adresse :
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

Sur la page de connexion, sélectionnez l'authentification par jeton, puis utilisez le bearer token récupéré à l'étape précédente.

kubectl proxy

Vous serez alors redirigé directement vers votre Dashboard :

kubernetes-dashboard

Supprimer toutes les ressources kubernetes-dashboard

Pour supprimer toutes les ressources créées par votre déploiement kubernetes-dashboard précédent, exécutez simplement la commande suivante :

kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
kubectl delete -f dashboard-cluster-role-binding.yml

Aller plus loin

  • Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.

  • Échangez avec notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?