maj readme + deploy.sh OK
This commit is contained in:
parent
a643f68190
commit
013f5e10f1
34
README.md
34
README.md
@ -78,8 +78,8 @@ kubectl create -f ./kubernetes/postgres-service.yml
|
||||
- Créer la database:
|
||||
|
||||
```bash
|
||||
kubectl get pods
|
||||
kubectl exec postgres-<POD_IDENTIFIER> --stdin --tty -- createdb -U postgres books
|
||||
POD_NAME=$(kubectl get pod -l service=postgres -o jsonpath="{.items[0].metadata.name}")
|
||||
kubectl exec $POD_NAME --stdin --tty -- createdb -U sample books
|
||||
```
|
||||
|
||||
#### Flask
|
||||
@ -99,9 +99,9 @@ kubectl create -f ./kubernetes/flask-service.yml
|
||||
- Appliquer la migration et la source de la database:
|
||||
|
||||
```bash
|
||||
kubectl get pods
|
||||
kubectl exec flask-<POD_IDENTIFIER> --stdin --tty -- python manage.py recreate_db
|
||||
kubectl exec flask-<POD_IDENTIFIER> --stdin --tty -- python manage.py seed_db
|
||||
FLASK_POD_NAME=$(kubectl get pod -l app=flask -o jsonpath="{.items[0].metadata.name}")
|
||||
kubectl exec $FLASK_POD_NAME --stdin --tty -- python manage.py recreate_db
|
||||
kubectl exec $FLASK_POD_NAME --stdin --tty -- python manage.py seed_db
|
||||
```
|
||||
|
||||
#### Vue
|
||||
@ -130,22 +130,36 @@ kubectl apply -f ./kubernetes/minikube-ingress.yml
|
||||
- Ajouter une entrée au fichier */etc/hosts*:
|
||||
|
||||
```bash
|
||||
echo "$(minikube ip) flask.book" | sudo tee -a /etc/hosts
|
||||
echo "$(minikube ip) flask.k8s" | sudo tee -a /etc/hosts
|
||||
```
|
||||
|
||||
### Résultat :checkered_flag:
|
||||
|
||||
- L'application est disponible à l'adresse:
|
||||
|
||||
:push_pin: [http://flask.book/](http://flask.book/)
|
||||
:pushpin: [http://flask.k8s/](http://flask.k8s/)
|
||||
|
||||
- Tester les différents pods du replica set flask:
|
||||
|
||||
```bash
|
||||
for ((i=1;i<=10;i++)); do curl http://flask.book/books/ping; done
|
||||
for ((i=1;i<=10;i++)); do curl http://flask.k8s/books/ping; done
|
||||
```
|
||||
|
||||
### Commandes
|
||||
### Version semi automatisée (deploy.sh)
|
||||
|
||||
```bash
|
||||
./deploy.sh
|
||||
# attendre que la dashboard pop dans le navigateur, puis:
|
||||
POD_NAME=$(kubectl get pod -l service=postgres -o jsonpath="{.items[0].metadata.name}")
|
||||
kubectl exec $POD_NAME --stdin --tty -- createdb -U sample books
|
||||
FLASK_POD_NAME=$(kubectl get pod -l app=flask -o jsonpath="{.items[0].metadata.name}")
|
||||
kubectl exec $FLASK_POD_NAME --stdin --tty -- python manage.py recreate_db
|
||||
kubectl exec $FLASK_POD_NAME --stdin --tty -- python manage.py seed_db
|
||||
```
|
||||
|
||||
> Si vous rencontrez des erreurs avec les commandes, attendre un peu que les pods soient déployés
|
||||
|
||||
### Commandes utiles :thumbsup:
|
||||
|
||||
- Infos:
|
||||
|
||||
@ -173,7 +187,7 @@ kubectl logs <POD_NAME>
|
||||
|
||||
```bash
|
||||
minikube stop; minikube delete
|
||||
rm /usr/local/bin/minikube
|
||||
sudo rm /usr/local/bin/minikube
|
||||
rm -rf ~/.minikube
|
||||
# re-download minikube
|
||||
minikube start
|
||||
|
||||
32
deploy.sh
32
deploy.sh
@ -25,12 +25,6 @@ kubectl create -f ./kubernetes/flask-deployment.yml
|
||||
kubectl create -f ./kubernetes/flask-service.yml
|
||||
|
||||
|
||||
echo "Creating the vue deployment and service..."
|
||||
|
||||
kubectl create -f ./kubernetes/vue-deployment.yml
|
||||
kubectl create -f ./kubernetes/vue-service.yml
|
||||
|
||||
|
||||
echo "Adding the ingress..."
|
||||
|
||||
minikube addons enable ingress
|
||||
@ -38,22 +32,28 @@ kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission
|
||||
kubectl apply -f ./kubernetes/minikube-ingress.yml
|
||||
|
||||
|
||||
echo "Creating hello.world entry in /etc/hosts..."
|
||||
echo "Creating the vue deployment and service..."
|
||||
|
||||
echo "$(minikube ip) hello.world" | sudo tee -a /etc/hosts
|
||||
kubectl create -f ./kubernetes/vue-deployment.yml
|
||||
kubectl create -f ./kubernetes/vue-service.yml
|
||||
|
||||
|
||||
echo "Creating flask.k8s entry in /etc/hosts..."
|
||||
|
||||
echo "$(minikube ip) flask.k8s" | sudo tee -a /etc/hosts
|
||||
|
||||
|
||||
# BROKEN -> A FAIRE MANUELLEMENT !!!
|
||||
echo "Creating database books in postgres..."
|
||||
# echo "Creating database books in postgres..."
|
||||
|
||||
POD_NAME=$(kubectl get pod -l service=postgres -o jsonpath="{.items[0].metadata.name}")
|
||||
kubectl exec $POD_NAME --stdin --tty -- createdb -U sample books
|
||||
# POD_NAME=$(kubectl get pod -l service=postgres -o jsonpath="{.items[0].metadata.name}")
|
||||
# kubectl exec $POD_NAME --stdin --tty -- createdb -U sample books
|
||||
|
||||
# BROKEN -> A FAIRE MANUELLEMENT !!!
|
||||
echo "Recreating database books in flask..."
|
||||
# # BROKEN -> A FAIRE MANUELLEMENT !!!
|
||||
# echo "Recreating database books in flask..."
|
||||
|
||||
FLASK_POD_NAME=$(kubectl get pod -l app=flask -o jsonpath="{.items[0].metadata.name}")
|
||||
kubectl exec $FLASK_POD_NAME --stdin --tty -- python manage.py recreate_db
|
||||
kubectl exec $FLASK_POD_NAME --stdin --tty -- python manage.py seed_db
|
||||
# FLASK_POD_NAME=$(kubectl get pod -l app=flask -o jsonpath="{.items[0].metadata.name}")
|
||||
# kubectl exec $FLASK_POD_NAME --stdin --tty -- python manage.py recreate_db
|
||||
# kubectl exec $FLASK_POD_NAME --stdin --tty -- python manage.py seed_db
|
||||
|
||||
minikube dashboard
|
||||
|
||||
@ -33,7 +33,7 @@ spec:
|
||||
secretKeyRef:
|
||||
key: password
|
||||
name: postgres-credentials
|
||||
image: mjhea0/flask-kubernetes:latest
|
||||
image: greglebreton/kubernetes-flask:latest
|
||||
imagePullPolicy: Always
|
||||
name: flask
|
||||
resources: {}
|
||||
|
||||
@ -5,7 +5,7 @@ metadata:
|
||||
annotations:
|
||||
spec:
|
||||
rules:
|
||||
- host: hello.world
|
||||
- host: flask.k8s
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
|
||||
@ -18,7 +18,7 @@ spec:
|
||||
app: vue
|
||||
spec:
|
||||
containers:
|
||||
- image: mjhea0/vue-kubernetes:latest
|
||||
- image: greglebreton/kubernetes-vue:latest
|
||||
imagePullPolicy: Always
|
||||
name: vue
|
||||
resources: {}
|
||||
|
||||
@ -10,7 +10,7 @@ RUN npm install
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN ROOT_API=http://localhost:5001 npm run build
|
||||
RUN ROOT_API=http://flask.k8s npm run build
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ RUN npm install
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN ROOT_API=http://hello.world npm run build
|
||||
RUN ROOT_API=http://flask.k8s npm run build
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user