Installer Kubernetes Dashboard

Introduction

Kubernetes Dashboard est une interface web permettant d’interagir avec Kubernetes. Elle permet à la fois de gérer les ressources du cluster mais aussi de déployer des applications conteneurisées.
Dans cet article, nous allons l’installer sur le cluster configuré dans cet article.

Installation

L’installation se fait tout simplement avec la commande :

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

Le déploiement par défaut du dashboard créer un service de type ClusterIP :

Afin de pouvoir y accéder de manière simple depuis une machine extérieur au cluster, nous allons modifier le service en NodePort :

kubectl patch svc kubernetes-dashboard -p '{"spec": {"type": "NodePort"}}' -n kubernetes-dashboard

La commande kubectl get svc kubernetes-dashboard -n kubernetes-dashboard nous permet alors de connaitre le port tcp attribué au service :

Dans notre cas, il s’agit du port 32217/TCP.

Nous pouvons donc accéder au dashboard depuis une machine extérieure au cluster à l’adresse https://une_des_adresse_IP_des_noeuds:32217/ :

Accès à l’interface

Pour accéder à l’interface, nous allons créer un token d’authentification associé à un ServiceAccount auquel nous donnerons les droits d’administration. Une des nouveautés de Kubernetes 1.24 est qu’il ne crée plus automatiquement de token
lors de la création du ServiceAccount.

Créons le fichier k8s-admin.yaml :

apiVersion: v1
kind: ServiceAccount
metadata:
  name: k8s-admin
  namespace: kube-system
---
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
  name: k8s-admin
  annotations:
    kubernetes.io/service-account.name: "k8s-admin"
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: k8s-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: k8s-admin
    namespace: kube-system

Puis lançons la commande :

kubectl create -f k8s-admin.yaml

La commande suivante permet d’afficher le token :

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep k8s-admin  | awk '{print $1}')

Un copié-collé de ce token sur la page d’authentification du dashboard nous permet ensuite de nous connecter à ce dernier :

One thought on “Installer Kubernetes Dashboard”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.