This is an old revision of the document!


Laboratorul 05. Kubernetes & Kubectl

Introducere

In acest laborator vom parcurge crearea de pods folosind comanda kubectl. Activitatea este echivalenta cu pornirea mai multor containere de Docker folosind docker run.

Aplicatia Propusa

Va propunem o mini aplicatie formata din 4 componente:

  1. un API webserver
  2. un script care proceseaza informatii
  3. o baza de date
  4. un broker de rabbitMQ

Aplicatia reprezinta un model simplificat de CQRS.

CQRS - Command and Query Responsibility Segregation se refera la despartirea logica intre cereri si actiuni care modifica starea dintr-un sistem

Fluxul este urmatorul:

  • Serverul API accepta doua cereri HTTP: un POST si un GET
  • Cererile de tip POST sunt trimise catre Procesator. Procesatorul adauga un timestamp si apoi scrie intrarea in baza de date
  • Cererile de tip GET sunt procesate direct de API care trage informatia din baza de date

Codul este accesibil pe repo-ul nostru.

Deployment folosind Kubernetes

In codul sursa aveti un exemplu de docker-compose.yml, pentru a avea o perspectiva familiara asupra cum va arata deploymentul local. In Kubernetes, fiecare serviciu va fi reprezentat de un Pod.

In continuare vom folosi comenzile de Kubectl, prezentate la laboratorul trecut, pentru a porni fiecare Pod independent.

La laboratorul urmator vom face deployment folosind configuratie declarativa yaml

Testare

Pentru a testa aplicatia va recomandam sa folositi Postman.

Testarea se realizeaza in felul urmator:

{
    "name": "De ce iubim femeile?",
    "author": "Mircea Cartarescu",
    "price": 69,
    "description": "Autoironie"
}
  1. Vizualizati intrarea, trimitand o cerere de tip GET pe acelasi link.

Observati ca intrarea va avea campul insertedAt adaugat

cc/laboratoare/05.1636918857.txt.gz ยท Last modified: 2021/11/14 21:40 by alexandru.hogea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0