Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cc:laboratoare:07 [2021/12/05 23:28]
alexandru.hogea
cc:laboratoare:07 [2021/12/06 12:33] (current)
alexandru.hogea [Secrete în Kubernetes]
Line 28: Line 28:
 Creați acest secret: Creați acest secret:
 <code bash> <code bash>
-kubectl ​create ​-f db-secret.yaml+kubectl ​apply -f db-secret.yaml 
 +</​code>​
 Incercati sa vizualizati datele din acest secret: Incercati sa vizualizati datele din acest secret:
 +<code bash>
 kubectl get secret db-secret kubectl get secret db-secret
 kubectl describe secret db-secret kubectl describe secret db-secret
Line 204: Line 206:
  
 ==== Persistența datelor ==== ==== Persistența datelor ====
-Adăugați câteva intrări în baza de date. Verificați ca acestea există. Ștergeți podul de DB, creați unul nou și executați ​un GET. Mai avem intrări în baza de date?+Adăugați câteva intrări în baza de date. Verificați ca acestea există. Ștergeți podul de DB, creați unul nou și executați ​o cerere de tip GET. Mai avem intrări în baza de date? 
 + 
 +Pentru ca datele din baza de date să nu dispară odată cu ștergerea pod-ului, folosim PV (PersistentVolume) și PVC (PersistentVolumeClaims). 
 + 
 +Un fișier de bază pentru a crea un PersistentVolume găsiti mai jos. Proprietățile pe care le folosim aici sunt destul de intuitive. 
 + 
 +<code yaml> 
 +apiVersion: v1 
 +kind: PersistentVolume 
 +metadata: 
 +    name: mypv 
 +spec: 
 +  accessModes:​ 
 +    - ReadWriteMany 
 +  capacity: 
 +    storage: 1Gi 
 +  hostPath: 
 +    path: /tmp/data 
 +</​code>​ 
 + 
 +Dupa ce creăm acest volum, verificăm că acesta există: 
 +<code bash> 
 +kubectl get pv # în continuare urmăriți câmpul de status 
 +</​code>​ 
 + 
 +Creăm un PVC pe baza următorului fișier de configurare:​ 
 +<code yaml> 
 +apiVersion: v1 
 +kind: PersistentVolumeClaim 
 +metadata: 
 +  name: mypvc 
 +spec: 
 +  accessModes:​ 
 +    - ReadWriteMany 
 +  resources:​ 
 +    requests: 
 +      storage: 1Gi 
 +</​code>​ 
 + 
 +După ce am creat și un PVC, verificați din nou atât PV, cât și PVC: 
 +<code bash> 
 +kubectl get pv # urmăriți câmpul de status 
 +kubectl get pvc 
 +</​code>​ 
 + 
 +Cum folosim un volum într-un pod? Modificăm fișierul de configurare al pod-ului pentru baza de date astfel încât acesta să folosească noul volum: 
 +<code yaml> 
 +apiVersion: v1 
 +kind: Pod 
 +metadata: 
 +  creationTimestamp:​ null 
 +  labels: 
 +    run: db 
 +  name: db 
 +spec: 
 +  containers:​ 
 +  - image: axonedge/​lab-k8s-database 
 +    name: db 
 +    envFrom: 
 +      - secretRef:​ 
 +          name: db-secret 
 +    volumeMounts:​ 
 +      - mountPath: /​var/​lib/​postgresql/​data 
 +        name: mypd 
 +  
 +  
 +  volumes: 
 +  - name: mypd 
 +    persistentVolumeClaim:​ 
 +      claimName: mypvc 
 +</​code>​
  
 +Ștergeți pod-ul de DB creat anterior și creați altul pe baza fișierului de mai sus.
 +Adăugați câteva intrări în baza de date, ștergeți pod-ul și apoi creați altul nou. Putem observa că de data aceasta baza de date nu este goală. ​
  
cc/laboratoare/07.1638739692.txt.gz · Last modified: 2021/12/05 23:28 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