Kubernetes déploiement via Minikube, Kind et Vagrant
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Grégory Lebreton 91473ac83f debian 12 + k8s 1.28.2 + metallb OK 10 months ago
configs debian 12 + k8s 1.28.2 + metallb OK 10 months ago
kubernetes debian 12 + k8s 1.28.2 + metallb OK 10 months ago
scripts debian 12 + k8s 1.28.2 + metallb OK 10 months ago
stack debian 12 + k8s 1.28.2 + metallb OK 10 months ago
.gitignore maj branch vagrant 11 months ago
README.md debian 12 + k8s 1.28.2 + metallb OK 10 months ago
Vagrantfile maj branch vagrant 11 months ago
settings.yaml debian 12 + k8s 1.28.2 + metallb OK 10 months ago

README.md

Kubernetes cluster avec Vagrant

vagrant

Pré requis

Install Vagrant

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update -y && sudo apt install vagrant -y

config Virtualbox

sudo mkdir -p /etc/vbox/
echo "* 0.0.0.0/0 ::/0" | sudo tee -a /etc/vbox/networks.conf

Créer cluster 🔨

vagrant up

Laisser le temps à Vagrant de construire les machines 5 - 10 min approximativement

Kube config

cp configs/config ~/.kube/

On récupère la config du master pour intéragir directement avec la commande kubectl

Déployer app 🚀

kubectl apply -f kubernetes/devops.yml
  • commandes utiles:
kubectl get nodes -o wide
kubectl get svc
kubectl get all

Load balancer

  • Installation de metallb:
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml

Cette config convient pour créer des services de load-balancer pour les cluster bare metal (non cloud)

doc: https://metallb.universe.tf/installation/

  • Appliquer les configs pour metallb:
kubectl apply -f kubernetes/ipaddresspool.yml
kubectl apply -f kubernetes/l2advertisement.yml

Définit les adresses IP utilisées par les services exposant les applicatons

  • Modifier son fichier /etc/hosts:
echo '10.0.0.50 k8s.exemple' | sudo tee -a /etc/hosts

http://k8s-exemple

Dashboard

  • Obtenir un jeton pour s'authentifier à la dashboard:
kubectl -n kubernetes-dashboard get secret/admin-user -o go-template="{{.data.token | base64decode}}"
kubectl proxy

Adresse de la dashboard: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/overview?namespace=kubernetes-dashboard

copier le jeton pour accéder à la dashboard