Рубрики
Uncategorized

Упражнение практики экзамена CKAD: наблюдаемость

Наблюдаемость (18%) Практические вопросы, основанные на этих понятиях, понимают живые … Помечено с Куберовщиком, разработчиком, дежоптом, облаком.

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»