Outils pour utilisateurs

Outils du site


informatique:kebernetes:install

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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:20]
benoit [Installation du Dashboard (optionnel)]
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:
-    ​nameadmin-user+    ​namespacekube-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 :
 +  kubectl apply -f create-admin.yml
 +
 +Résultat attendu : 
 +  serviceaccount/​k8sadmin 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) =====
informatique/kebernetes/install.1701930003.txt.gz · Dernière modification: 2023/12/07 07:20 par benoit