This is an old revision of the document!
Laboratorul 05. Kubernetes
5.1. Pods
Nota: pe parcursul laboratoarelor de mai jos, va rog sa inlocuiti “id” cu numarul aferent fiecarui student.
mkdir ~/.kube
cp config ~/.kube
kubectl get nodes
kubectl config view
kubectl create ns student[id]
kubectl get ns
kubectl config set-context –current –namespace=student[id]
kubectl config view
kubectl apply -f pod01.yaml
kubectl get pods
kubectl get pods webserver-student-id -owide
kubectl get pods webserver-student-id -oyaml
kubectl exec -it webserver-student-id – bash
kubectl delete pod webserver-student-id
kubectl get po -o wide # Should output “No resources found.”
kubectl apply -f pod02.yaml
kubectl get po -o wide
kubectl describe pod webserver
kubectl exec -it webserver -c webwatcher – /bin/bash
root@webserver:/# cat /etc/os-release
kubectl exec -it webserver -c webserver – /bin/bash
root@webserver:/# cat /etc/os-release
kubectl delete -f pod02.yaml
kubectl apply -f pod03.yaml
kubectl exec webserver -c c1 – /bin/cat /usr/share/nginx/html/index.html
kubectl exec webserver -c c2 – /bin/cat /html/index.html
kubectl delete pod webserver
cd ../Laborator2
5.2. Deployments, stateless/stateful
Deployments - de obicei folosit de aplicatii stateless
kubectl apply -f deploy-01.yaml
kubectl get deployments
kubectl get pods
kubectl get replicaset
kubectl scale deployments/nginx-deployment –replicas=4
kubectl get pods -o wide # vom vedea 4 pod-uri
kubectl scale deployments/nginx-deployment –replicas=2
kubectl get pods -o wide
kubectl set image deployments/nginx-deployment nginx=nginx:1.9.1
kubectl rollout undo deployments/nginx-deployment
kubectl rollout status deployments/nginx-deployment
kubectl describe deploy nginx-deployment
kubectl delete deployment nginx-deployment
Statefulset - aplicatii stateful
/exports/data-0001
/exports/data-0002
sudo showmount -e localhost
Fiecare student va folosi propria adresa ip, mai departe in cadrul acestui laborator.
Adresa ip poate fi obtinuta folosind comanda de mai jos
ip -f inet addr show ens3
Editati fisierele nfs-0001.yaml si nfs-0002.yaml, adaugand adresa ip proprie in campul
spec.nfs.server si actualizati campul metadata.name cu id-ul de student aferent.
kubectl apply -f nfs-0001.yaml
kubectl apply -f nfs-0002.yaml
kubectl get pv | grep studentid
kubectl describe pv <pv_name>
kubectl apply -f statefulset-01.yaml
kubectl get statefulset
kubectl describe statefulset
kubectl get pods
echo 'Hello World' /exports/data-0001/index.html
echo “Hello $USER” > /exports/data-0002/index.html
kubectl exec -it web-0 – cat /usr/share/nginx/html/index.html
kubectl exec -it web-1 – cat /usr/share/nginx/html/index.html
kubectl create -f service.yaml
kubectl describe svc nginx
kubectl delete -f statefulset-01.yaml
cd ../Laborator3