top of page
cloud-vds.png
  • 2 Base de données

  • 2 VPS AMD

  • 4 instances ARM

  • Stockage 100 Go

  • 50k appels API

theme-light-dark-white.png

Comment déployer votre Cluster Kubernetes en local avec Kind sur Linux Ubuntu ?


ree

Kind est un outil pour exécuter des clusters Kubernetes. Kind a été principalement conçu pour tester Kubernetes lui-même, mais peut être aussi utilisé pour le développement local ou CI (Intégration continue).


Kind exécute un cluster local en utilisant des conteneurs Docker comme "nœuds".



Cette configuration sera basée sur Ubuntu 22.04 . Nous allons d'abord créer un cluster Kubernetes localement, puis explorer les composants de base présents dans le cluster, nous allons ensuite créer un pod nginx à l'intérieur du cluster à l'aide d'un fichier YAML.


Prérequis

Pour créer ce cluster Kubernetes, vous aurez besoin d'installer :

  • Ubuntu

  • Docker

  • Kind

  • Kubectl


Installations

  • Récupération de la listes des mis à jour disponibles

sudo apt update -y

  • Installation de Docker

sudo apt update docker.io

  • Installation de Kind

sudo curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.14.0/kind-linux-amd64
sudo chmod +x ./kind
sudo mv ./kind  /usr/bin/kind

  • Installation de Kubectl

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

Création d'un cluster single-node

Maintenant, tout est installé vous pouez créer un cluster de kubernetes. Exécuter seulement la commande “kind create cluster” et cela vous créera un cluster Kubernetes. Cependant il sera créé avec les paramètres par défaut. Ces paramètres par défaut sont :

  • Le nom du cluster sera ‘kind’

  • Le cluster n'aura qu'un seul nœud (control panel node)

Si vous souhaitez créer un cluster avec plusieurs nœuds dès maintenant alors rendez-vous dans la section suivant Création d'un cluster multi-nodes.


Pour personnalisez le nom du cluster vous pouvez rajouter --name suivi du nom

sudo kind create cluster
ree

Une fois votre cluster déployé localement, vous pouvez énumérer le nombre de pods présents dans ce cluster à l'aide de la commande :

sudo kubectl get pods 
ree


Aucune ressource n'est trouvée dans l'espace de noms par défaut car nous n'avons aucun pod programmé dans l'espace de noms par défaut, permet d'essayer de répertorier tous les pods présents dans tous les espaces de noms de ce cluster à l'aide de la commande mentionnée ci-dessous:

sudo kubectl get pods -A
ree

Actuellement, nous n'avons aucun pod exécuté dans l'espace de noms par défaut du cluster, mais plusieurs conteneurs s'exécutent à l'intérieur de l'espace de noms du système kubernetes.


Vous pouvez créer un pod du service web nginx dans le cluster avec ce fichier YAML:

nano ./nginx-web.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
    - name: static-web
      image: nginx

  • Création du pod nginx dans le cluster avec la commande kubectl

sudo kubectl create -f ./nginx-web.yaml
ree

  • Vérification des pods présent dans le cluster

sudo kubectl get pods

  • Vérification des noeuds présent dans le cluster

sudo kubectl get nodes -o wide

Création d'un cluster multi-nodes

Voyons maintenant comment vous pouvez faire un cluster avec 1 "master nod" 2 "workers nod" personnalisé avec un fichier de config :

nano kind-config.yaml
# three node (two workers) cluster config
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker

Création du cluster

kind create cluster --name exemple --config kind-config.yaml

Maintenant, le cluster est prêt et vous pouvez utiliser les commandes kubectl pour travailler sur le cluster. Vous pouvez exécuter des commandes kubectl à partir de votre machine locale.


Modifiez le nombre de nœuds dans le cluster.


Vous pouvez avoir des "control-plane nodes" et des "wokers nodes autant que vous le souhaitez. Voici un exemple de configuration avec 3 control-plane et 3 workers.

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: control-plane
- role: control-plane
- role: worker
- role: worker
- role: worker

Suppression d'un cluster

Vous pouvez supprimer directement avec la commande kind delete suivi du nom du cluster :

kind delete cluster


Nous pouvons constater que Kind permet de créer des noeuds en local sur un unique hôte et il sera donc nécessaire d'utiliser d'autres technologies comme kubeadm ou minikube pour de la mise en production ou simplement pour déployer un cluster entre plusieurs hôtes.

 
 
 

Posts similaires

Voir tout

Commentaires


Titre

Chargement...

Chargement...

Chargement...

bottom of page