maj readme installtion des dépendances
This commit is contained in:
parent
013f5e10f1
commit
2dd5495bd9
3
.gitignore
vendored
3
.gitignore
vendored
@ -1 +1,2 @@
|
||||
minikube-linux-amd64
|
||||
minikube-linux-amd64
|
||||
docker-compose.yml
|
||||
41
README.md
41
README.md
@ -2,13 +2,28 @@
|
||||
|
||||
Exemple de déploiement d'une application flask avec postgres en backend et vue.js en front
|
||||
|
||||
### Pré requis :paperclip:
|
||||
## Pré requis :paperclip:
|
||||
|
||||
- Docker et compose plugin :whale:
|
||||
- Virtualbox :computer:
|
||||
- Minikube (mini K8S)
|
||||
|
||||
### Installation Minikube :construction:
|
||||
### Installation Docker et compose
|
||||
|
||||
```bash
|
||||
wget https://git.legaragenumerique.fr/GARAGENUM/docker/raw/branch/main/docker-install.sh && bash ./docker-install.sh
|
||||
```
|
||||
|
||||
##~ Installation de Virtualbox
|
||||
|
||||
```bash
|
||||
wget -O- -q https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmour -o /usr/share/keyrings/oracle_vbox_2016.gpg
|
||||
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle_vbox_2016.gpg] http://download.virtualbox.org/virtualbox/debian bookworm contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
|
||||
sudo apt update
|
||||
sudo apt install virtualbox-7.0
|
||||
```
|
||||
|
||||
### Installation Minikube
|
||||
|
||||
Installer et lancer [Minikube](https://kubernetes.io/docs/setup/minikube/):
|
||||
|
||||
@ -24,10 +39,10 @@ minikube start --vm-driver=virtualbox --nodes 2
|
||||
minikube dashboard
|
||||
```
|
||||
|
||||
### Déploiement des services :rocket:
|
||||
|
||||
> La dashboard pop dans le navigateur :bar_chart:
|
||||
|
||||
## Déploiement des services :rocket:
|
||||
|
||||
#### Volume persistant
|
||||
|
||||
- Créer le volume persistant:
|
||||
@ -44,13 +59,13 @@ kubectl apply -f ./kubernetes/persistent-volume-claim.yml
|
||||
|
||||
#### Secrets :lock:
|
||||
|
||||
- Créer un objet secret:
|
||||
- Créer un objet secret (database user + password):
|
||||
|
||||
```bash
|
||||
kubectl apply -f ./kubernetes/secret.yml
|
||||
```
|
||||
|
||||
> Les secrets sont encodés sur base 64
|
||||
Les secrets sont encodés sur base 64
|
||||
```bash
|
||||
echo -n "pleasechangeme" | base64
|
||||
# output:
|
||||
@ -106,13 +121,13 @@ kubectl exec $FLASK_POD_NAME --stdin --tty -- python manage.py seed_db
|
||||
|
||||
#### Vue
|
||||
|
||||
Créer le deployement:
|
||||
- Créer le deployement:
|
||||
|
||||
```bash
|
||||
kubectl create -f ./kubernetes/vue-deployment.yml
|
||||
```
|
||||
|
||||
- - Créer le service:
|
||||
- Créer le service:
|
||||
|
||||
```bash
|
||||
kubectl create -f ./kubernetes/vue-service.yml
|
||||
@ -133,7 +148,7 @@ kubectl apply -f ./kubernetes/minikube-ingress.yml
|
||||
echo "$(minikube ip) flask.k8s" | sudo tee -a /etc/hosts
|
||||
```
|
||||
|
||||
### Résultat :checkered_flag:
|
||||
## Résultat :checkered_flag:
|
||||
|
||||
- L'application est disponible à l'adresse:
|
||||
|
||||
@ -145,7 +160,7 @@ echo "$(minikube ip) flask.k8s" | sudo tee -a /etc/hosts
|
||||
for ((i=1;i<=10;i++)); do curl http://flask.k8s/books/ping; done
|
||||
```
|
||||
|
||||
### Version semi automatisée (deploy.sh)
|
||||
## Version semi automatisée (deploy.sh)
|
||||
|
||||
```bash
|
||||
./deploy.sh
|
||||
@ -181,7 +196,7 @@ kubectl scale deployment vue --replicas=2
|
||||
kubectl logs <POD_NAME>
|
||||
```
|
||||
|
||||
### Debug :sob:
|
||||
## Debug :sob:
|
||||
|
||||
- En cas de problèmes avec Minikube, reinstaller celui-ci:
|
||||
|
||||
@ -193,11 +208,11 @@ rm -rf ~/.minikube
|
||||
minikube start
|
||||
```
|
||||
|
||||
### Cheatsheet :stuck_out_tongue_winking_eye:
|
||||
## Cheatsheet :stuck_out_tongue_winking_eye:
|
||||
|
||||
[Kubernetes commandes](https://github.com/dennyzhang/cheatsheet-kubernetes-A4)
|
||||
|
||||
### Todo :clipboard:
|
||||
## Todo :clipboard:
|
||||
|
||||
- [ ] commandes kubectl utiles + mise à l'échelle
|
||||
- [ ] changer flask.book
|
||||
|
||||
@ -1,39 +0,0 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
|
||||
server:
|
||||
container_name: flask-backend
|
||||
build:
|
||||
context: ./services/server
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- 5001:5000
|
||||
environment:
|
||||
- FLASK_ENV=development
|
||||
- APP_SETTINGS=project.config.DevelopmentConfig
|
||||
- POSTGRES_USER=postgres
|
||||
- POSTGRES_PASSWORD=postgres
|
||||
depends_on:
|
||||
- postgres
|
||||
|
||||
postgres:
|
||||
container_name: postgres
|
||||
build:
|
||||
context: ./services/db
|
||||
dockerfile: Dockerfile
|
||||
expose:
|
||||
- 5432
|
||||
environment:
|
||||
- POSTGRES_USER=postgres
|
||||
- POSTGRES_PASSWORD=postgres
|
||||
|
||||
client:
|
||||
container_name: vue-front
|
||||
build:
|
||||
context: ./services/client
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- 8080:8080
|
||||
depends_on:
|
||||
- server
|
||||
Loading…
x
Reference in New Issue
Block a user