Démarrer avec Kubernetes

From Cloud Avenue
Jump to navigation Jump to search

Aperçu

Après avoir installé un cluster Kubernetes avec le portail VCD et son plugin CSE, on va découvrir une méthode pour exploiter ce cluster, y accéder, l'administrer, déployer des containers, des applications, etc.

Prérequis

De quoi a-t-on besoin ?

- une VM linux avec bureau graphique pour administrer le cluster.

- kubectl

- le fichier de configuration du cluster

- deux adresses IP publiques

La VM d'administration

J'ai utilisé une version Ubuntu 19 upgradée en 20 par la suite. Il va falloir installer l'outil de base pour kubernetes, à savoir kubectl. La VM est configurée avec un compte linux nommé kubeadm. Ce compte est autorisé à se connecter en SSH sans mot de passe sur tous les noeuds du cluster Kubernetes.

helm a été installé et permet de déployer simplement une application sur le cluster.

Installation de kubectl

Terminal.png Terminal


Vérification de la version installée

Terminal.png Terminal


Fichier de configuration du cluster

Le fichier généré par l'interface VCD peut être téléchargé sur le PC. Il faudra alors le transférer sur la VM. Plusieurs solutions :

  • le télécharger via un espace web sur lequel le fichier est mis à disposition (dissimulé de préférence)
  • le télécharger via un serveur sftp, assez lourd à mettre en oeuvre
  • le copier/coller dans une fenêtre shell-in-a-box (il faudra juste remettre le fichier yaml en forme, les retours charriot sautent dans l'opération).

Pour que tout fonctionne correctement, il est pratique de le positionner à l'emplacement suivant : ~/.kube/configOn vérifie avec la commande kubectl cluster info :


Terminal.png Terminal


Dashboard kubernetes

Se connecter sur la console de la VM d'administration.

Lancer la commande suivante pour lancer le proxy permettant d'afficher les applications exposées sur le cluster :


Terminal.png Terminal


Aller sur Firefox et se connecter sur la console (raccourci dans la barre personnelle nommé Kubernetes Dashboard).

Plusieurs fenêtre de terminal sont ouvertes, l'une d'elle permet de récupérer le jeton permettant de s'authentifier sur le Dashboard, pour cela, lancer le script :


Terminal.png Terminal


Copier/coller le jeton (double clic sur le terminal, attention, ne prendre que les caractères utiles)

Token.png
Login kd.png


Kubernetes Dashboard.png


Mise à jour de la version de Kubernetes

Le cluster monClusterK8s a été déployé avec les template CSE ubuntu 1.15. J'ai réalisé la mise à jour vers la version 1.16.9. La procédure est décrite à cet endroit :

https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/

Il est nécessaire de réaliser les opérations d'upgrade de kubeadm sur chaque noeud, et donc se connecter en ssh sur chaque serveur.

Par ex:

Upgrade Master:


Terminal.png Terminal

Note : pour un upgrade de la 1.16 à la 1.17 il est nécessaire d'upgrader le package kubernetes-cni vers la version 0.8.6-00 avant d'upgrader le Master et les Nodes

Upgrade Nodes:

On Node:

Terminal.png Terminal

on Master :

Terminal.png Terminal

On Node:

Terminal.png Terminal

On Master:

Terminal.png Terminal


Les upgrades ne sont possibles que vers version mineure +1

Donc pour upgrader en 1.18.x depuis 1.15.x, suivre le chemin : 1.15=>1.16=>1.17=>1.18

Note: Upgrade testé depuis Cluster K8s 1.15 vers 1.18 sur Ubuntu 16.04.7 LTS


Etape suivante: Exposer une application sur internet



Liens rapides : Revenir en haut de la page Bouton CDS NGP.png Bouton FAQ.png Bouton FP.png Bouton Accueil.png Bouton contact wiki.jpg