Sunteți pe pagina 1din 8

Practica. Laboratorul nr.

1
Numele, Prenumele: Alina Pavalachi
Grupa: IA2001, USM
Profesor: Aurelia Prepeliță

Teorie
1. - Cloud computing este un concept modern în domeniul computerelor și informaticii, reprezentând un
ansamblu distribuit de servicii de calcul, aplicații, acces la informații și stocare de date, fără ca
utilizatorul să aibă nevoie să cunoască amplasarea și configurația fizică a sistemelor care furnizează
aceste servicii.
- Cloud computing folosește noi metode de oferire și consumare a serviciilor IT în Internet, servicii care
de obicei pot fi dimensionate dinamic și care includ resurse virtualizate. Este de fapt doar o posibilitate
secundară, urmare a ușurinței cu care se pot acum accesa toate serverele și centrele de calcul
interconectate prin intermediul Internetului.
2. Modele de livrare servicii Cloud Computing
- Software as a Service (SaaS) - clientul poate utiliza aplicaţiile software puse la dispoziţie de furnizor
pe o infrastructură de tip “cloud” – este cazul furnizării de servicii de găzduire web, servicii email, etc.
Clientul nu poate configura parametrii infrastructurii utilizate (bandă de transfer, servere, sisteme de
operare, spaţiu de stocare).
- Platform as a Service (PaaS) - clientul poate instala şi configura pe infrastructura “cloud” furnizată
aplicaţiile software proprii. Acesta poate fi cazul utilizării platformei WordPress pe un server de
găzduire ce oferă interfaţa CPanel. Clientul poate configura site-ul respectiv în limitele oferite de
platforma WordPress.
- Infrastructure as a Service (IaaS) - clientul are posibilitatea să acceseze şi să configureze resursele
de calcul puse la dispoziţie de infrastructura cloud conform necesităţilor. Poate instala orice tip de
software, inclusiv sisteme de operare. De asemenea, poate configura în anumite limite resursele de
reţea alocate – firewall-uri, filtre spam, etc

3. Modele de implementare a serviciilor de Cloud Computing


- Cloud privat - infrastructura este disponibilă doar în interiorul unei organizaţii ce înglobează mai mulţi
consumatori. Poate fi cazul unei reţele de magazine de retail. Infrastructura poate fi deţinută,
configurată şi utilizată de organizaţia respectivă sau de terţi, ori combinaţii ale celor două variante.
- Cloud comunitar - infrastructura este utilizată de entităţi diferite ce împărtăşesc o parte din scopuri.
Poate fi exemplul serviciilor de urgenţă – poliţia, pompierii, ambulanţa.
- Cloud public - infrastructura este deschisă utilizării de către publicul larg în scopuri academice sau
guvernamentale. Presupune existenţa unui terţ care să furnizeze fizic infrastructura cloud.
- Cloud hybrid - infrastructura este o combinaţie de servicii private, comunitare şi publice care îşi
păstrează caracterul unitar, dar sunt unite printr-o tehnologie ce asigură portabilitatea informaţiilor şi a
aplicaţiilor software utilizate.
4.Kubernetes
- Arhitectura k8s - Kubernetes foloseste o arhitectura master-slave . Componentele Kubernetes pot fi
împărțite în cele care gestionează un nod individual și cele care fac parte din panoul de control.
Masterul Kubernetes este principala unitate de control a grupului, gestionând incarcarea și direcționând
comunicarea în sistem.
Nodul, cunoscut și sub numele de Worker sau Minion, este o mașină în care se desfășoară containere
(încărcări de lucru). Fiecare nod din cluster trebuie să ruleze un runtime de container, cum ar fi
Docker , precum și componentele mai sus menționate, pentru a comunica cu master-ul despre sau in
scopul configurarii rețelei acestor containere.
Add-on-urile funcționează la fel ca orice altă aplicație care rulează în cluster: acestea sunt
implementate prin intermediul pod-urilor și serviciilor și sunt diferite numai prin faptul că implementează
caracteristici ale clusterului Kubernetes. Pod-urile pot fi gestionate de Deployments,
ReplicationControllers și așa mai departe. Există multe add-on-uri, iar lista este în creștere.
- Obiecte k8s - Platforma își exercită controlul asupra resurselor de calcul și de stocare prin definirea
resurselor ca Obiecte, care apoi pot fi gestionate ca atare. Obiectele complexe sunt numite:
- Pentru a gestiona similar mai multe resurse asemănătoare, Kubernets definește conceptul de bază
numit pod . Acest pod, (fiind un container abstract de containere concrete) permite un nivel mai ridicat
de abstractizare, realizat practic prin gruparea in acelasi pod a componentelor containerizate. Un pod
constă, deci, dintr-unul sau mai multe containere care sunt garantate a fi co-localizate pe mașina
gazdă și pot partaja resurse.
- Un serviciu Kubernetes este compus dintr-un set de pod-uri care funcționează împreună, cam ca la
un nivel dintr-o API de aplicație multi-nivel . Setul de pod-uri care constituie un serviciu este gasit,este
referit, prin cautarea pe baza (unui ID special), a unei etichete. Kubernetes oferă două moduri de
descoperire a serviciului , folosind variabile de mediu sau utilizând un serviciu de nume: Kubernetes
DNS.
- Sistemele de fișiere din containerul Kubernetes asigură stocarea temporară, în mod implicit.
Aceasta înseamnă că o repornire a containerului va șterge orice date și, prin urmare, această formă de
stocare este destul de limitantă în orice aplicații decât cele triviale. Un volum Kubernetes oferă o
stocare persistentă care există pentru întreaga viață a pod-ului.
- Kubernetes oferă o împărțire a resurselor pe care le gestionează în seturi care nu se suprapun,
numite spații de nume. Acestea sunt destinate utilizării în medii cu mulți utilizatori răspândiți în mai
multe echipe sau proiecte, sau chiar separând medii precum dezvoltarea, testarea și producția.

Practica
MODULUL 1: Crearea clusterului Kubernetes
1. minikube version – vizualizarea versiunii minikube

2. minikube start - pornim clusterul


3. kubectl version- verificarea instalarii kubectl

4. kubectl cluster-info - vizualizam detaliile clusterului

5. kubectl get nodes - vizualizam nodurile.

MODULUL 2:Implementarea unei aplicații.


1. kubectl create deployment {name} --image={app image location} – cream o implementare.

2. kubectl get deployments - listam implementările

MODULUL 3: Explorarea aplicatiei.


1.kubectl get pods – rularea podurilor

2. kubectl describe pods - vedem detalii despre containerul podului: adresa IP, porturile utilizate și o
listă de evenimente legate de ciclul de viață al podului.

3. kubectl logs {pod name} – vizualizarea jurnalelor din container

4. kubectl exec {pod name} -- env - executa comenzi direct pe container odată ce Pod-ul este pornit

5. kubectl exec -ti {pod name} bash - incepem o sesiune bash în containerul podului

6. exit - închidem tipul de conexiune al containerului

MODULUL 4: Expunerea aplicatiei


1. kubectl get services

2. kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080

3. kubectl describe services/kubernetes-bootcamp

4. kubectl describe deployment

5. kubectl get pods -l app=kubernetes-bootcamp - folosim această etichetă pentru a interoga lista
noastră de Pod-uri.

6. kubectl get services -l app=kubernetes-bootcamp - facem același lucru pentru a enumera serviciile
existente

7. kubectl label pod kubernetes-bootcamp-fb5c67579-9qnfd version=v1 - aplicam o nouă etichetă pod-


ului

8. kubectl describe pods kubernetes-bootcamp-fb5c67579-9qnfd - verificam etichetele pentru pod

9. kubectl get pods -l version=v1 - listam lista de poduri ce au noua etichetă

10. kubectl delete service -l app=kubernetes-bootcamp – stergem serviciul

MODULUL 5: Scalarea aplicatiei.


1. kubectl get rs - pentru a vedea ReplicaSet creat de implementare

2. kubectl scale deployments/kubernetes-bootcamp --replicas=4 - scalăm implementarea la 4 replici


3. kubectl get deployments - verificam încă o dată listele de implementare

4. kubectl get pods -o wide - verificăm dacă s-a modificat numărul de poduri

5. kubectl describe deployments/kubernetes-bootcamp - verificam daca a fost înregistrată modificarea


în jurnalul evenimentelor de implementare.

6. kubectl describe services/kubernetes-bootcamp - verificăm dacă serviciul echilibrează traficul

MODULUL 6: Actualizarea aplicației


1. kubectl describe deployment - vizualiza versiunea actuală a imaginii a aplicației
2. kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-
bootcamp:v2 – noua versiune a imaginii

3. kubectl rollout undo deployments/kubernetes-bootcamp - actualizarea poate fi confirmată și prin


executarea unei comenzi de lansare

Conluzie:
La aceasta lucrare de laborator am invatat comenzile din minikube, am aflat informatia de baza despre
clouding computing si kubernetes.
Bibliografie:
https://ro.wikipedia.org/wiki/Kubernetes
https://despretot.info/cloud-computing-definitie-referat
https://ro.wikipedia.org/wiki/Cloud_computing

S-ar putea să vă placă și