Rozgrzewka

Przygotowanie

Sklonuj repozytorium z udostępnionego pliku bundle

git clone warsztaty-k8s-autoskalowanie.bundle

Uruchom minikube - 4Gi pamięci wystarczy

minikube start --memory=4G

Budowa kontenera

Kod dostępny w branchu: main

Zbuduj obraz kontenera i go uruchom

cd src
docker build -t flaskdemo .
docker run -p  8080:8080 flaskdemo 

Uruchamianie aplikacji

Kod dostępny w branchu: 2-run-app

Uruchom aplikację w trybie dev korzystając ze skaffold

skaffold dev 

Ponieważ definicja deploymentu zawiera definicję readinessProbe to uzupełnij kod aplikacji o obsługę brakującego endpointu /healthz. Na końcu pliku src/application.py dopisz brakujący kod:

@app.route("/healthz")
def healthz():
    return "ok", 200

Zeskaluj ją ręcznie i zobacz czy działa

kubectl scale deploy/flaskdemo --replicas=3