문제8: readiness-liveness Probe 구성하기

tothelight·2024년 5월 21일

CKAD 예상 문제

목록 보기
8/14

다음과 같은 조건의 self-healing 기능을 Deployment에 적용하십시오.

  • readinessProbe 구성
    • httpGet probe를 이용해 smlinux/appjs 컨테이너에서 8080포트로 200상태코드가 나오지 않으면 외부 traffic이 들어오지 못하도록 구성
    • 컨테이너 시작 후 5초 후부터 readinessProbe가 동작
    • 실패횟수는 1회로 구성
  • livenessProbe 구성
    • httpGet probe를 이용해 smlinux/appjs 컨테이너가 웹 통신에 실패하면 컨테이너를 다시 실행
    • 템플릿은 /data/ckad/liveness-busybox.yaml을 사용

명령어 흐름

# readiness 및 liveness probe 설정 파일 편집
$ vi /data/ckad/readiness-appjs.yaml

# 설정 파일 적용
$ kubectl apply -f /data/ckad/readiness-appjs.yaml

# 설정 확인
$

 kubectl describe pod appjs-deployment-YYYYY-ZZZZZ

readiness-appjs.yaml 내용

apiVersion: apps/v1
kind: Deployment
metadata:
  name: appjs-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: appjs
  template:
    metadata:
      labels:
        app: appjs
    spec:
      containers:
      - name: appjs-container
        image: smlinux/appjs
        ports:
        - containerPort: 8080
        readinessProbe:
          httpGet:
            path: /
            port: 8080
          initialDelaySeconds: 5
          periodSeconds: 10
          failureThreshold: 1
        livenessProbe:
          httpGet:
            path: /
            port: 8080
          initialDelaySeconds: 5
          periodSeconds: 10
          failureThreshold: 1

솔루션 설명

  1. readiness 및 liveness probe 설정 파일 편집

    $ vi /data/ckad/readiness-appjs.yaml
    • vi /data/ckad/readiness-appjs.yaml 명령어를 사용하여 readiness-appjs.yaml 파일을 엽니다.
    • 주석으로 추가된 내용: readinessProbelivenessProbe를 설정합니다.
  2. 설정 파일 적용

    $ kubectl apply -f /data/ckad/readiness-appjs.yaml
    • kubectl apply 명령어를 사용하여 readiness-appjs.yaml 파일을 적용합니다.
  3. 설정 확인

    $ kubectl describe pod appjs-deployment-YYYYY-ZZZZZ
    • kubectl describe pod 명령어를 사용하여 appjs-deployment의 설정을 확인합니다.

0개의 댓글