Skip to content

Louispautasso/kube-ynov

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kubernetes Project for Ynov - Groupe 4

Ce repo est la partie Helm pour avoir un déploiement plus simple et plus rapide

Le repo de base et où tout se lance à la mano est ici : https://github.com/Louispautasso/kube-groupe4

La registry docker pour l'ensemble (ou presque) des images utilisé dans ce projet :https://hub.docker.com/orgs/groupe4ynov/repositories

Ce projet a été créer dans le but de fonctionner sur un Cluster Kubernetes. Ce cluster pourra être installer sur un cloud provider comme sur un cluster kube local.

Diagramme des flux

Pour Tout installer

Les pré-requis

Il va falloir installer helm sur le cluster Kube https://helm.sh/docs/intro/install/

Puis nous allons ajouter un controller d'ingress, pour cela, nous allons utiliser Nginx On commence par créer son propre namespace

kubectl create namespace ingress-projet

On ajoute le repo ingress-nginx et on le met à jour

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update

Puis on install le controller Ingress

helm install nginx-ingress ingress-nginx/ingress-nginx --namespace ingress-projet

Enfin, on clone le repo git et on se place dedans pour la suite

git clone git@github.com:Louispautasso/kube-ynov.git
cd kube-ynov

Installation du projet

On commence par créer son namespace

kubectl create namespace projet

On install le certificat auto-signé

kubectl create secret tls projet-1 --cert certificats/projet-1.crt --key certificats/projet-1.key

Puis on installe l'ensemble du projet via la commande helm

helm install projet ./helm-charts/projet --namespace projet

Ajouter le vhost dans le fichier /etc/hosts avec l'ip de votre ingress

20.74.17.236 siteweb.example.com

Installation du monitoring des metrics - Prometheus / Grafana

On commence par créer son namespace

kubectl create namespace monitoring

Puis on ajoute le repo helm et on l'update

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

Puis on lance l'installation du Chart Helm avec notre fichier de valeurs et dans le namespace qu'on souhaite

helm install prometheus prometheus-community/kube-prometheus-stack -f helm-charts/prometheus/values.yml --namespace monitoring

Ajouter le vhost dans le fichier /etc/hosts avec l'ip de votre ingress

20.74.17.236 grafana.example.com

Installation du monitoring des logs - EFK

On commence par créer son namespace

kubectl create namespace kube-logging

En Single Commande

Puis on lance l'installation du Chart Helm d'ElasticSearch dans le namespace kube-logging

helm install efk ./helm-charts/efk --namespace kube-logging

OOUUU en Pleins de commande

On lance l'installation du Chart Helm d'ElasticSearch dans le namespace kube-logging

helm install elasticsearch ./helm-charts/elasticsearch --namespace kube-logging

Puis on lance l'installation du Chart Helm de Kibana dans le namespace kube-logging

helm install kibana ./helm-charts/kibana --namespace kube-logging

Puis on lance l'installation du Chart Helm de Fluentd dans le namespace kube-logging

helm install fluentd ./helm-charts/fluentd --namespace kube-logging

Ajouter le vhost dans le fichier /etc/hosts avec l'ip de votre ingress

20.74.17.236 kibana.example.com

Pour les noobs

Quelques commandes

Voir les releases qui tournent actuellement et les supprimer

helm list -A
helm uninstall <release_name> -n <namespace>

Se connecter à son cluster Azure

az aks get-credentials --resource-group groupe4 --name clus4

Utilisation des contexts

kubectl config get-contexts
kubectl config use-context

Quelques liens

Création de la partie monitoring des metrics avec Prometheus

https://medium.com/codex/setup-kuberhealthy-with-prometheus-and-grafana-on-minikube-b2f6da21dc2e

Création des sondes de vivacité et de préparation

https://linuxintosh.wordpress.com/2020/12/28/k8s-les-differents-types-de-sondes/

Création des règles d'affinités

https://docs.openshift.com/container-platform/3.6/admin_guide/scheduling/pod_affinity.html
https://stackoverflow.com/questions/62292476/deployment-affinity

Création de la partie monitoring des logs avec EFK + pas mal de recherche pour des petits bug

https://www.digitalocean.com/community/tutorials/how-to-set-up-an-elasticsearch-fluentd-and-kibana-efk-logging-stack-on-kubernetes#step-2-%E2%80%94-creating-the-elasticsearch-statefulset

Contributing

Florian Agnès and Louis Pauatasso les proprios.

License

C'est à nous

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published