Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
informatique:kebernetes:install [2023/12/07 07:22] benoit [Création du compte utilisateur] |
informatique:kebernetes:install [2023/12/18 12:48] (Version actuelle) benoit [Installation du Metrics Server (Optionnel)] |
||
---|---|---|---|
Ligne 216: | Ligne 216: | ||
sha256:99642bae81510327a55119dbc73bb3291eda748924cd889090239292dd91fea8 --cri-socket /run/cri-dockerd.sock | sha256:99642bae81510327a55119dbc73bb3291eda748924cd889090239292dd91fea8 --cri-socket /run/cri-dockerd.sock | ||
+ | La commande ci-dessous à lancer sur le master permet de générer la commande d'enregistrement ci-dessus. C'est utile quand on ajouter un node plus tard et que l'on n'a plus la commande d'initialisation sur le master : | ||
+ | kubeadm token create --print-join-command | ||
==== Vérification des nodes sur le Master ==== | ==== Vérification des nodes sur le Master ==== | ||
Ligne 313: | Ligne 315: | ||
dashboard-metrics-scraper ClusterIP 10.110.254.116 <none> 8000/TCP 2m4s | dashboard-metrics-scraper ClusterIP 10.110.254.116 <none> 8000/TCP 2m4s | ||
kubernetes-dashboard ClusterIP 10.97.175.192 <none> 443/TCP 2m4s | kubernetes-dashboard ClusterIP 10.97.175.192 <none> 443/TCP 2m4s | ||
+ | |||
+ | |||
==== Création du compte utilisateur ==== | ==== Création du compte utilisateur ==== | ||
Ligne 318: | Ligne 322: | ||
Créer un fichier manifeste : | Créer un fichier manifeste : | ||
- | vim dashboard-admin.yaml | + | vim create-admin.yml |
Insérer le contenu suivant : | Insérer le contenu suivant : | ||
+ | |||
+ | # Create k8sadmin | ||
+ | --- | ||
apiVersion: v1 | apiVersion: v1 | ||
kind: ServiceAccount | kind: ServiceAccount | ||
metadata: | metadata: | ||
- | name: admin-user | + | name: k8sadmin |
- | namespace: kubernetes-dashboard | + | namespace: kube-system |
+ | | ||
--- | --- | ||
apiVersion: rbac.authorization.k8s.io/v1 | apiVersion: rbac.authorization.k8s.io/v1 | ||
kind: ClusterRoleBinding | kind: ClusterRoleBinding | ||
metadata: | metadata: | ||
- | name: admin-user | + | namespace: kube-system |
+ | name: k8sadmin | ||
roleRef: | roleRef: | ||
apiGroup: rbac.authorization.k8s.io | apiGroup: rbac.authorization.k8s.io | ||
Ligne 336: | Ligne 345: | ||
name: cluster-admin | name: cluster-admin | ||
subjects: | subjects: | ||
- | - kind: ServiceAccount | + | - kind: ServiceAccount |
- | name: admin-user | + | name: k8sadmin |
- | namespace: kubernetes-dashboard | + | namespace: kube-system |
Appliquer le manisfeste : | Appliquer le manisfeste : | ||
- | kubectl apply -f dashboard-admin.yaml | + | kubectl apply -f create-admin.yml |
Résultat attendu : | Résultat attendu : | ||
- | serviceaccount/admin-user created | + | serviceaccount/k8sadmin created |
- | clusterrolebinding.rbac.authorization.k8s.io/admin-user created | + | clusterrolebinding.rbac.authorization.k8s.io/k8sadmin created |
+ | |||
+ | |||
+ | ==== Se connecter au dashboard ==== | ||
+ | |||
+ | Nous allons ici nous y connecter de manière ponctuelle. La configuration d'accès au dashboard n'est pas pérenne. | ||
+ | Les actions ci-dessous sont à faire chaque fois que vous souhaiter accéder au dashboard. | ||
+ | |||
+ | Si vous êtes connecté en SSH sur le master, vous pouvez activer le tunnel suivant : | ||
+ | 8001 -> 127.0.0.1:8001 | ||
+ | |||
+ | Démarrer le proxy en tâche de fond: | ||
+ | kubectl proxy & | ||
+ | |||
+ | Créer un token pour l'admin : | ||
+ | kubectl -n kube-system create token k8sadmin | ||
+ | |||
+ | Vous obtiendrez une chaine qu'il faudra utiliser dans l'interface d'admin pour s'y connecter. | ||
+ | |||
+ | Avec votre navigateur : | ||
+ | * Se connecter sur [[http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login]] | ||
+ | * Sélectionner Jeton (Token) | ||
+ | * Copier/Coller le jeton obtenir par la commande ''kubectl -n kube-system create token k8sadmin'' | ||
+ | |||
+ | ===== Installation du Metrics Server (Optionnel) ===== | ||
+ | |||
+ | Télécharger le manifeste : | ||
+ | wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml -O metrics-server-components.yaml | ||
+ | |||
+ | Apporter des modifications dans le manisfeste : | ||
+ | vim metrics-server-components.yaml | ||
+ | |||
+ | Ajouter les lignes entre **# DEBUT AJOUT** et **# FIN AJOUT**: | ||
+ | spec: | ||
+ | containers: | ||
+ | - args: | ||
+ | - --cert-dir=/tmp | ||
+ | - --secure-port=4443 | ||
+ | - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname | ||
+ | - --kubelet-use-node-status-port | ||
+ | - --metric-resolution=15s | ||
+ | # DEBUT AJOUT | ||
+ | command: | ||
+ | - /metrics-server | ||
+ | - --kubelet-insecure-tls | ||
+ | - --kubelet-preferred-address-types=InternalIP | ||
+ | # FIN AJOUT | ||
+ | image: registry.k8s.io/metrics-server/metrics-server:v0.6.4 | ||
+ | imagePullPolicy: IfNotPresent | ||
+ | livenessProbe: | ||
+ | failureThreshold: 3 | ||
+ | httpGet: | ||
+ | path: /livez | ||
+ | port: https | ||
+ | scheme: HTTPS | ||
+ | periodSeconds: 10 | ||
+ | |||
+ | |||
+ | Appliquer le manisfeste : | ||
+ | kubectl apply -f metrics-server-components.yaml | ||
+ | ===== Installation du contrôleur Ingress (Optionnel) ===== |