Laboratorinio darbo tikslas - paleisti savo mikroservisą Kubernetes clusteryje, kuris yra Microsoft Azure Cloude (AKS).
Laboratorinio darbo žingsniai ir įvertinimas už kiekvieną žingsnį yra žemiau.
Prieš pradėdami užsiregistruokite laboratoriniam darbui: čia
Github ir Dockerhub repo paruošimas (4 balai)
Susigeneruokite ssh rsa public ir private raktų porą panaudodami ssh-keygen programą terminale
$ ssh-keygen
Public key įdėti į savo github paskyrą
Sukurkite tcentric/cloud-lab fork’ą savo github paskyroje - 2 balai
Nusiklonuokite savo nuforkintą github repo lokaliai su git clone. Visi kodo pakeitimai bus daromi lokaliai
Sukurtame forke įjungti ir sukonfigūruoti Github Actions. Action'as konfigūruojasi paprastai,
sukurkite aplanką .github/workflows, į jį įdėkite šį failą (pakeisti visus <JŪSŲ DOCKERHUB USERNAME> į savo)
Failo pavadinimas turi būti release.yml - 2 balaiAtkreipkite dėmesį į lygiavimą Išsaugoję failą galite pasižiūrėti ar lygiavimas tiesingas atsidarę release workflow savo github repo (github.com)
Parsisiųskite kubeconfig'ą su komanda: mkdir ~/.kube && curl -X GET -s https://9cf7c813-a697-4709-ab2a-b91d96ee2375.lab.cloudcat.online/kubeconfig/<JŪSŲ github username> > ~/.kube/config
Sukurkite naują release savo github repo, pavadinkite jį v0.1 - 1 balas
Paruoškite kubernetes manifestus (įrašyti informaciją prie TODO pažymėtų vietų) žiūrėti čia
Nusiųskite manifestus į kubernetes clusterį su komanda: kubectl apply -f infrastructure/k8s/1 balas
Atskirame terminalo lange įvykdykite komandą kubectl port-forward svc/lab 8080:80
Naršyklėje atsidarykite: http://localhost:8080 - tai jūsų aplikacija Kubernetes clusteryje. Ji automatiškai tikrinis 4 etapo užduotis ir matysite, kada užduotis bus įvykdyta
API serviso pakeitimai ir deploymentas (3 balai)
Pridėti papildomą http endpointą į API servisą /{username} žiūrėti čia - 1 balas
Naujai pridėtas endpointas turėtų grąžinti Sha256 username'o hashą žiūrėti čia
Pakeitimus išsaugoti savo git repo su git commit ir git push
Adarykite naują release githube, pavadinkite jį v0.2
Po to, kai github Actions subuildins naują Docker image'ą, atnaujinkinte jį savo kubernetes deploymente su komanda:
kubectl set image deploy lab app=<jusu dockerhub username/cloud-lab:v0.2 - 2 balai