CKAD экзамен: Практическое упражнение (8 части серии)
Практические вопросы на основе этих концепций
- Понять жизнеспособность и готовность
- Понять ведение контейнеров
- Понять, как контролировать приложения в Кубейнетах
- Понять отладку в Куберате
Упражнение
Создайте POD NGINX с ContainerPort 80, и он должен получать только трафик только он проверяет конечную точку/на порт 80 и проверять и удалить POD
kubectl run nginx --image=nginx --restart=Never --port=80 --dry-run -o yaml > nginx-pod.yaml // add the readinessProbe section and create apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: nginx name: nginx spec: containers: - image: nginx name: nginx ports: - containerPort: 80 readinessProbe: httpGet: path: / port: 80 resources: {} dnsPolicy: ClusterFirst restartPolicy: Never status: {} kubectl create -f nginx-pod.yaml // verify kubectl describe pod nginx | grep -i readiness kubectl delete po nginx
Создайте POD NGINX с контейнером 80, и он должен проверить работу POD на конечной точке/Healthz на порту 80 и проверить и удалить POD
kubectl run nginx --image=nginx --restart=Never --port=80 --dry-run -o yaml > nginx-pod.yaml // add the livenessProbe section and create apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: nginx name: nginx spec: containers: - image: nginx name: nginx ports: - containerPort: 80 livenessProbe: httpGet: path: /healthz port: 80 resources: {} dnsPolicy: ClusterFirst restartPolicy: Never status: {} kubectl create -f nginx-pod.yaml // verify kubectl describe pod nginx | grep -i readiness kubectl delete po nginx
Создайте POD NGINX с ContainerPort 80, и он должен проверить работу POD на конечной точке/Healthz на порту 80, и он должен получать только трафик только, только проверяет конечную точку/на порт 80. Проверяйте POD
kubectl run nginx --image=nginx --restart=Never --port=80 --dry-run -o yaml > nginx-pod.yaml // add the livenessProbe and readiness section and create apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: nginx name: nginx spec: containers: - image: nginx name: nginx ports: - containerPort: 80 livenessProbe: httpGet: path: /healthz port: 80 readinessProbe: httpGet: path: / port: 80 resources: {} dnsPolicy: ClusterFirst restartPolicy: Never status: {} kubectl create -f nginx-pod.yaml // verify kubectl describe pod nginx | grep -i readiness kubectl describe pod nginx | grep -i liveness
Проверьте, какие все варианты, которые мы можем настроить с готовностью и датчиками живота
kubectl explain Pod.spec.containers.livenessProbe kubectl explain Pod.spec.containers.readinessProbe
Создайте POD NGINX с приведенной выше прождостью и готовностью, чтобы оно должно подождать за 20 секунд, прежде чем она проверяет проживание наживления и готовности, и она должна проверить каждые 25 секунд.
// nginx-pod.yaml apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: nginx name: nginx spec: containers: - image: nginx name: nginx ports: - containerPort: 80 livenessProbe: initialDelaySeconds: 20 periodSeconds: 25 httpGet: path: /healthz port: 80 readinessProbe: initialDelaySeconds: 20 periodSeconds: 25 httpGet: path: / port: 80 resources: {} dnsPolicy: ClusterFirst restartPolicy: Never status: {} kubectl create -f nginx-pod.yaml
Создайте PODBOX Busybox с этой командой «ECHO I у Faningbox Pod; Sleep 3600;» и проверить журналы
kubectl run busybox --image=busybox --restart=Never -- /bin/sh -c "echo I am from busybox pod; sleep 3600;" kubectl logs busybox
Скопируйте журналы вышеуказанного POD в Busybox-logs.txt и убедитесь
kubectl logs busybox > busybox-logs.txt cat busybox-logs.txt
Перечислите все события, отсортированные по временному времени, и поместите их в File.Log и проверить
kubectl get events --sort-by=.metadata.creationTimestamp // putting them into file.log kubectl get events --sort-by=.metadata.creationTimestamp > file.log cat file.log
Создайте POD с изображением Alpine, который выполняет эту команду «пока правда; Do Echo» Привет, я от Alpine ‘ ; Спать 5; сделано «и проверить и следовать журналам стручка
// create the pod kubectl run hello --image=alpine --restart=Never -- /bin/sh -c "while true; do echo 'Hi I am from Alpine'; sleep 5;done" // verify and follow the logs kubectl logs --follow hello
Получите использование памяти и процессора всех стручков и выясните верхние 3 стручки, которые имеют наибольшее использование и поместить их в файл CPU-USAGE.TXT.
// get the top 3 hungry pods kubectl top pod --all-namespaces | sort --reverse --key 3 --numeric | head -3 // putting into file kubectl top pod --all-namespaces | sort --reverse --key 3 --numeric | head -3 > cpu-usage.txt // verify cat cpu-usage.txt
CKAD экзамен: Практическое упражнение (8 части серии)
Оригинал: «https://dev.to/vijaydaswani/ckad-exam-practice-exercise-observability-2l06»