Рубрики
Uncategorized

Упражнение практики экзамена CKAD: Multi Consister Pods

Multi-Contains Pods (10%) Вопросы практики, основанные на этих понятиях, понимаемых … Помечено с Куберовщиком, разработчиком, дежоптом, облаком.

CKAD экзамен: Практическое упражнение (8 части серии)

Практические вопросы на основе этих концепций

  • Понимать мульти-контейнеровочные модели дизайна POD (например, посол, адаптер, соленье)

Вопросов

Создайте стручок с тремя контейнерами Box с командами «Ls; Sleep 3600;», «Echo Hello World; Sleep 3600;» и «эхо это третий контейнер; сон 3600» соответственно и проверьте статус

// first create single container pod with dry run flag
kubectl run busybox --image=busybox --restart=Never --dry-run -o yaml -- bin/sh -c "sleep 3600; ls" > multi-container.yaml

// edit the pod like below

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: busybox
  name: busybox
spec:
  containers:
  - args:
    - bin/sh
    - -c
    - ls; sleep 3600
    image: busybox
    name: busybox1
    resources: {}
  - args:
    - bin/sh
    - -c
    - echo Hello world; sleep 3600
    image: busybox
    name: busybox2
    resources: {}
  - args:
    - bin/sh
    - -c
    - echo this is third container; sleep 3600
    image: busybox
    name: busybox3
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Never
status: {}

// create it
kubectl create -f multi-container.yaml

kubectl get po busybox

Проверьте журналы каждого контейнера, который вы только что создали

kubectl logs busybox -c busybox1
kubectl logs busybox -c busybox2
kubectl logs busybox -c busybox3

Проверьте предыдущие журналы второго контейнера Businox2, если

kubectl logs busybox -c busybox2 --previous

Запустить команду ls в третьем контейнере busybox3 вышеперечисленного стручка

kubectl exec busybox -c busybox3 -- ls

Показать метрики вышеупомянутых контейнеров POD и помещает их в файл .Log и проверить

kubectl top pod busybox --containers

// putting them into file
kubectl top pod busybox --containers > file.log
cat file.log

Создайте POD с основным контейнером Busybox и который выполняет это «пока правда; Do Echo» Привет, я из главного контейнера ‘>>/var/log/index.html; Спать 5; Готово «и с контейнером Sidecar с изображением Nginx, который подвергает порта 80. Используйте VolumeDIR Volume и установите этот объем на пути/var/log для busybox и на пути/usr/share/nginx/html для контейнера nginx. Убедитесь, что оба контейнера работают.

// create an initial yaml file with this
kubectl run multi-cont-pod --image=busbox --restart=Never --dry-run -o yaml > multi-container.yaml

// edit the yml as below and create it
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: multi-cont-pod
  name: multi-cont-pod
spec:
  volumes:
  - name: var-logs
    emptyDir: {}
  containers:
  - image: busybox
    command: ["/bin/sh"]
    args: ["-c", "while true; do echo 'Hi I am from Main container' >> /var/log/index.html; sleep 5;done"]
    name: main-container
    resources: {}
    volumeMounts:
    - name: var-logs
      mountPath: /var/log
  - image: nginx
    name: sidecar-container
    resources: {}
    ports:
      - containerPort: 80
    volumeMounts:
    - name: var-logs
      mountPath: /usr/share/nginx/html
  dnsPolicy: ClusterFirst
  restartPolicy: Never
status: {}

kubectl create -f multi-container.yaml

kubectl get po multi-cont-pod

EXEC в обоих контейнерах и проверить, что Main.txt существует и запрашивает Main.txt из контейнера Sidecar с Curl localhost

// exec into main container
kubectl exec -it  multi-cont-pod -c main-container -- sh
cat /var/log/main.txt

// exec into sidecar container
kubectl exec -it  multi-cont-pod -c sidecar-container -- sh
cat /usr/share/nginx/html/index.html

// install curl and get default page
kubectl exec -it  multi-cont-pod -c sidecar-container -- sh
# apt-get update && apt-get install -y curl
# curl localhost

CKAD экзамен: Практическое упражнение (8 части серии)

Оригинал: «https://dev.to/vijaydaswani/ckad-exam-practice-exercise-multi-container-pods-1ffi»