DEV-OPS
Mise en jambes
DOCKER
Docker c koi? : Permet de mettr dans un container un micro-service
- docker build -t louisonsarlinmagnus/yncrea-hellomicro:latest .
: On build notre image docker
- docker run -p 8080:8080 -t <adresse_Docker_Host>/yncrea-hellomicro:latest
: permet de lancer l'image Docker dans un container sur le port 8080.
Minikube
Minikube c koi? : Permet la gestion des DOCKER containers (pods)
- minikube start
: On lance minikube
- minikube ip
: On note l'ip de notre minikube
- eval $(minikube docker-env)
: Utiliser le deamon docker de minikube (pas celui local)
- env | grep DOCKER
: affiche (pour verif) les variable environnement de DOCKER
- kubectl apply -f deployment.yaml
: Déploi le container selon les paramètre de deployment
HELM
Helm c koi? : Permet de packager un déploiment kubernetes
- helm install silly-unicorn src/helm/chart/yncrea-hellomicro
: Permet de packager notre micro-service yncrea-hellomicro et d'y référencer via le nom silly unicorn.
- helm uninstall silly-unicorn
: Permet de supprimer le package silly-unicorn.
- helm upgrade silly-unicorn src/helm/chart/yncrea-hellomicro
: Permet de mettre a jour le package.
Commandes utiles
docker stop <id_container>
: stop le container Docker en coursdocker container ls
: obtenir l'id du container Dockermvn clean install
: build l'image Dockerdocker images
: pour voir les images Docker existantesdocker run -p 8080:8080 -t <adresse_Docker_Host>/yncrea-hellomicro:latest
: permet de lancer l'image Docker<adresse_Docker_Host>/yncrea-hellomicro:latest
sur le port 8080.<adresse_Docker_Host>
est fourni parminikube ip
.kubectl apply -f src/kubernetes/deployment.yaml
: déployer l'applicationkubectl get deployment
: pour vérifier que l'application est déployékubectl apply -f src/kubernetes/service.yaml
: déployer le servicekubectl get svc
: Afficher les services déployés (utile pour récupérer le<port_minikube>
)<minikube_ip>:<port_minikube>
: pour acceder au micro-servicekubectl.exe scale deployment/yncrea-hellomicro --replicas=3
: pour dépoloyer 3 fois le servicekubectl edit deployment yncrea-hellomicro
: pour modifier les variables d'environnementkubectl create secret generic yncrea-hellomicro-secret --from-literal=secret.txt="my very secret secret agent name"
: ajout d'un secretkubectl get secrets
: Pour récup les secret crééskubectl delete secret yncrea-hellomicro-secret
: Pour supprimer un secret
Au début on a vu spring boot: pour faire un changement faut tout faitre a la main Puis docker je suis plus dépendant de la plateforme Kubernetes gère les docker Kube permet de créer un service avec plusieur conteneurs Kube permet de config des applications Kube peut gèrer les secrets SpringBoot>Docker>Kubernetes(Pods>Service)>helmCharts