Projekt

Obecné

Profil

Deployment » Historie » Verze 11

Michal Schwob, 2022-04-12 07:53

1 1 Michal Schwob
h1. Deployment
2
3 7 Michal Schwob
Pro deployment aplikace je využíváno Kubernetes. Byl pro nás vytvořen namespace *cnat*.
4 5 Michal Schwob
Adresa Kuberenes Dashboardu: https://dashboard.kube.zcu.cz/#/overview?namespace=cnat
5 6 Michal Schwob
Přístup nejspíš jenom pro uživatele správce deploymentu (anonymní já :D)
6 2 Michal Schwob
7 1 Michal Schwob
h2. Prerekvizity
8
9 8 Michal Schwob
Všechny ukázkové fungující konfigy a nastavení jsou v tagu *working_deployment*.
10 1 Michal Schwob
11
h3. Frontend
12
13
V nginx configu pro frontend musí být vytvořeno přesměrování volání /api na backend server
14
Requesty na backend se posílají na base adresu /api - nastaveno v _.env_ , _conf.ts_ , _swagger/http-client.ts_ (vygenerovaný soubor swaggerem)
15 3 Michal Schwob
Dockerfile pro frontend
16 1 Michal Schwob
17
h3. Backend
18
19
Běžící backend
20 3 Michal Schwob
Dockerfile pro backend
21 1 Michal Schwob
22
h2. Kroky pro deploy aplikace:
23
24
h3. Build docker image
25
26 9 Michal Schwob
Nejdříve je potřeba sestavit docker image pro backend a frontend. Stačí spustit příkaz *docker-compose up* ve složce _backend_.
27 11 Michal Schwob
Následně image nahrát do docker hubu - příkaz *docker push* a název image, tj. *schwobik/frontend-app:<verze>* nebo *schwobik/backend-app:<verze>*. Verze musí odpovídat verzi uvedené v _docker-compose.yaml_ ve složce _backend_.
28 1 Michal Schwob
29
h3. Vytvoření konfiguračních souborů pro Kubernetes
30
31 4 Michal Schwob
Soubory se vytvoří příkazem *kompose convert* , pokud je stažen kompose (https://kubernetes.io/docs/tasks/configure-pod-container/translate-compose-kubernetes/)
32 11 Michal Schwob
Soubor frontend-service.yaml je třeba ještě upravit, je třeba přidat řádku _type: LoadBalancer_ do elementu _specs_, jinak by Service nebyla přístupná z venku.
33 1 Michal Schwob
34
h3. Deployment
35
36
Dále stačí nahrát soubory do Kubernetes Clusteru.