본문 바로가기
쿠버네티스/CKA 자격증

[쿠버네티스] CKA 기출 자료_3 [파드, 디플로이먼트] | 데인트리 라이브러리

by 데인트리 2021. 7. 6.

 

이 페이지에서는 기출 문제 중 파드, 디플로이먼트 관련 문제를 다룬다.

 

 

 

1. 특정 레이블을 가진 파드 중 CPU 사용량이 가장 높은 파드 조회

파드의 CPU 사용량은 kubectl top pod 명령을 통해 확인할 수 있다. -l 옵션과 레이블명을 추가하여 특정 레이블을 가진 파드의 CPU 사용량을 조회할 수 있다. 문제에서는 해당 파드명을 파일형태로 저장한다.

[root@k8s-master ~]$ kubectl top pod -l {LABEL}
[root@k8s-master ~]$ echo {파드명} > {문제에서요구하는파일명}

 

2. 특정 노드에 파드 생성

참고 링크: https://kubernetes.io/ko/docs/concepts/scheduling-eviction/assign-pod-node/

 

특정 노드에 스케줄링되는 파드를 생성한다. 파드가 스케줄링되는 노드를 지정하려면 nodeSelector 옵션을 사용해야 한다. 해당 옵션은 CLI 로는 생성할 수 없고 YAML을 작성해야 한다. 

 

nodeSelector:

  {문제에서요구하는레이블}

 

위의 내용을 파드의 정의에 추가하면 일치하는 레이블이 있는 노드에 파드가 스케줄링된다.

 

문제 풀이는

1. Pods 기본 YAML 템플릿 작성

2. YAML파일에 nodeSelector 내용 추가

3. 쿠버네티스 반영

순서로 작업한다.

# 파드 기본 템플릿 작성
[root@k8s-master ~]$ kubectl run ckatest --image nginx --dry-run=client -o yaml > pod.yaml

# pod.yaml 내용 수정
[root@k8s-master ~]$ vi pod.yaml
[root@k8s-master ~]$ cat pod.yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: ckatest
  name: ckatest
spec:
  containers:
  - image: nginx
    name: ckatest
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
  nodeSelector:
    disktype: ssd

# 파드 생성
[root@k8s-master ~]$ kubectl apply -f pod.yaml

 

3. 파드의 로그 파일로 출력

파드의 로그는 kubectl logs {파드명} 으로 출력한다. 표준 출력 > 를 사용해 파일 형태로 출력한다.

[root@k8s-master ~]$ kubectl logs {파드명} > {문제의파일경로}

 

4. 디플로이먼트 스케일링

참고 링크: https://kubernetes.io/ko/docs/concepts/workloads/controllers/deployment/

                                                                                    (디플로이먼트 스케일링 검색)

CLI를 통해 쉽게 풀 수 있는 문제이다.

[root@k8s-master ~]$ kubectl scale deployment {디플로이먼트명} --replicas={요구값}

 

5. 멀티 컨테이너 파드 배포

컨테이너를 여러개 가지고 있는 파드를 배포해야 한다. 아래의 예시처럼 containers: 하위에 한 세트를 추가하면 된다.

아래의 예시에서 { } 안의 내용을 문제에서 제시하는 내용으로 변경하여 생성한다.

# 파드 기본 템플릿 작성
[root@k8s-master ~]$ kubectl run ckatest --image nginx --dry-run=client -o yaml > pod.yaml

# pod.yaml 내용 수정
[root@k8s-master ~]$ vi pod.yaml
[root@k8s-master ~]$ cat pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: multi-containers
spec:
  containers:
  - name: {containerA}
    image: {ImageA}
  - name: {containerB}
    image: {ImageB}
  - name: {containerC}
    image: {ImageC}


# 파드 생성
[root@k8s-master ~]$ kubectl apply -f pod.yaml

 

 

CKA 자격증 정보 및 문제 풀이 연관 글

[쿠버네티스] CKA 자격 시험 접수 및 후기 (202105) | 데인트리 라이브러리

[쿠버네티스] CKA 기출 자료_1 [RBAC, Node] | 데인트리 라이브러리

[쿠버네티스] CKA 기출 자료_2 [클러스터 업그레이드, 백업] | 데인트리 라이브러리

[쿠버네티스] CKA 기출 자료_3 [파드, 디플로이먼트] | 데인트리 라이브러리

[쿠버네티스] CKA 기출 자료_4 [PV, PVC] | 데인트리 라이브러리

[쿠버네티스] CKA 기출 자료_5 [네트워킹] | 데인트리 라이브러리

 

 

내용에 오류가 있거나 질문이 있으면 댓글로 소통해주세요

언제나 환영합니다

댓글