zkt22/sk1
2022-05-14 15:09:41 +00:00
..
mongo-configmap.yaml Upload files to 'sk1' 2022-05-14 11:55:46 +00:00
mongo-express-deployment.yaml Upload files to 'sk1' 2022-05-14 11:55:46 +00:00
mongo-express-service.yaml Upload files to 'sk1' 2022-05-14 11:55:46 +00:00
mongo-secret.yaml Upload files to 'sk1' 2022-05-14 11:55:46 +00:00
mongo-service.yaml Upload files to 'sk1' 2022-05-14 11:55:46 +00:00
mongo-stateful-set.yaml Upload files to 'sk1' 2022-05-14 11:55:46 +00:00
namespace.yaml Upload files to 'sk1' 2022-05-14 11:55:46 +00:00
prepare-app.sh Add 'sk1/prepare-app.sh' 2022-05-14 11:53:26 +00:00
pv.yaml Upload files to 'sk1' 2022-05-14 11:55:46 +00:00
README.md Update 'sk1/README.md' 2022-05-14 15:09:41 +00:00
remove-app.sh Upload files to 'sk1' 2022-05-14 11:55:46 +00:00

Základy klaudových technológií - Skúška

Ondrej Ladomirják

Funkcionalita aplikácie

Táto aplikácia sa skladá z dvoch kontajnerov mongodb a mongo-express a slúži na správu NoSQL databázy MongoDB. Keďže práca s databázou cez príkazový riadok nie je veľmi "user-friendly", tak súčasťou je taktiež webové rozhranie pre správu databázy Mongo-Express, v ktorom možno vytvárať nové databázy, kolekcie, a pridávať do novovytvorených kolekcií potrebné záznamy.

Opis použitého klaudu a služieb klaudu

  • Na zverejnenie aplikácie bol použitý verejný klaud Azure, ktorý ponúka rôzne služby ako napríklad spravovanie, vývoj či hosting webových aplikácií online. Pre študentov ponúka "vstupný bonus" v podobe 100-eurového kreditu, čím ponúka možnosť využívať služby istý čas zdarma.
  • Využitá bola služba AKS (Azure Kubernetes Service), pomocou ktorej bol zverejnený kubernetes kluster.

Opis odovzdaných súborov

  • .yaml - Súbory vo formáte YAML slúžiace pre vytvorenie všetkých potrebných Kubernetes objektov.
  • .sh - Shall script súbory, ktoré slúžia na prípravu (spustenie) a vymazanie aplikácie.

Opis kubernetes objektov

  • Deployment: použitý pre vytvorenie mongo-express PODu. Staraju sa o beh aplikácií. mongo-express-deployment.yaml
  • Service: použitý pre vytvorenie spojenia medzi PODmi. mongo-service.yaml mongo-express-service.yaml
  • Secret: udržiava citlivé informácie. V našom prípade meno a heslo. mongo-secret.yaml
  • Namespace: slúži pre lepšie usporiadanie aplikácii, s ktorými pracujeme. Bez využitia menných priestorov by sa všetky aplikácie a objekty nachádzali v defaultnom mennom priestore. V jednom mennom priestore by sa mali nachádzať aplikácie, ktoré spolu komunikujú. namespace.yaml
  • Statefulset: služi na manažovanie aplikácií, ktoré si potrebujú udržať svoj stav (stateful applications). mongo-stateful-set.yaml
  • PersistentVolume: typ objektu, ktorý určuje miesto kde je možné uložiť dáta. pv.yaml

Návod ako si pozrieť aplikáciu na webovom prehliadači

  • Všetko potrebné na prípravu a spustenie aplikácie je možné vykonať príkazom prepare-app.sh, ktorým nasadíme aplikáciu na verejný klaud Azure.
  • Po nasedení aplikácie je potrebné zadať príkaz kubectl get service -n z2 mongo-express-service kde stĺpec EXTERNAL-IP zobrazuje IP adresu, na ktorej aktuálne beží aplikácia. Taktiež je možné nájsť túto IP adresu na portáli Azure.
  • EXTERNAL-IP je potrebné vložiť do vyhľadávania prehliadača spolu s portom 8081 v tvare -> EXTERNAL-IP:8081.

Použité systémy, ktoré vyžadujú skripty prepare-app.sh a remove-app.sh

  • Docker v20.10.14
  • Kubernetes v1.22.5
  • azure-cli v2.36.0
  • kubectl v1.20.0

Príprava aplikácie

sh prepare-app.sh

Zrušenie aplikácie

sh remove-app.sh