Skip to content

karkazzul/Kind-Ingress-Traefik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Kind-Ingress-Traeffik

Objectif

A ne pas reproduire en Production !!!

L'objectif de ce cours, est de mettre à disposition des utilisateurs un environnement de développement local utilisant les memes ressources qu'un cluster kubernetes de pre-prod/prod. C'est à dire dans notre cas avec l'utilisation de traefik comme Ingress Controllers. Ainsi tout les environnements de travail ont la meme base commune, ce qui facilite la migration entre ceux-ci.

Installation de kind

Attention: Kind nécessite la présence de Docker sur son PC:

Pour suivre ce cours, vous aurez besoin d'un cluster kubernetes. Vous pouvez en créer un en utilisant kind. Vous aurez également besoin d'installer le kubectl CLI pour votre distribution.

Création du cluster

Pour créer notre cluster kubernetes, nous devons taper la commande suivante:

kind create cluster --config config.yaml

Afin de vérifier que tout fonctionne, taper la commande:

kubectl get nodes

Création & Configuration de Traefik

Installation des config prérequis pour Treaefik

Lien vers la documentation

  • Installation des Ressources Definition:
kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.10/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
  • Installation du RBAC pour Traefik:
kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.10/docs/content/reference/dynamic-configuration/kubernetes-crd-rbac.yml

Installation des différentes ressources pour Traefik

kubectl apply -f traefik/traefik-service-account.yaml
  • Installation du Secret contenant les informations du certificat SSL encodé en base64:
kubectl apply -f traefik/traefik-secret.yaml  
  • Installation du Service pour Trefik:
kubectl apply -f traefik/traefik-svc.yaml  
  • Installation du ConfigMap contenant la configuration de Traefik:
kubectl apply -f traefik/traefik-configmap.yaml
kubectl apply -f traefik/traefik-ds.yaml
  • Installation de l'Ingress permettant d'accéder au Dashboard de Traefik:
kubectl apply -f traefik/traefik-ingress.yaml
  • Vérifier que le pod Traefik est bien en état Running
kubectl get pods

Création & Configuration d'un pod NGINX

La création de ce pod de démo à pour objectif de permettre la compréhension de comment exposer ses pods avec Traefik.

kubectl apply -f nginx/nginx-dp.yaml
kubectl apply -f nginx/nginx-svc.yaml
  • Installation de l'Ingress pour nginx:
kubectl apply -f nginx/nginx-ingress.yaml

Accès aux services

  • Il faut avant tout éditer son fichier hosts afin de pouvoir accéder aux différents services. Pour Windows [Pour Mac/Linux] => sudo nano /etc/hosts

Mettre les informations suivantes:

127.0.0.1   traefik.local
127.0.0.1   nginx.local
  • Pour accéder au Dashboard de Traefik => https://traefik.local
  • Pour accéder au Nginx => http://nginx.local ou https://nginx.local

Suppression du cluster

  • Pour supprimer le cluster:
kind delete cluster --name=dev-k8s

About

Kind-Ingress-Traefik

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published