반응형
- node01에 레이블은 몇개 있나요?
- 기존에는 describe 해서 Labels 필드를 찾아서 검색했는데 jsonpath 기능을 까먹고 있었다.
controlplane ~ ➜ k get node node01 -o jsonpath='{.metadata.labels}'
{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/os":"linux","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"node01","kubernetes.io/os":"linux"}
- jsonpath 는 출력의 결과를 path 기반으로 검색할 수 있는 기능이다.
- -o 옵션에서 jsonpath='{.<1차경로>.<2차경로>}'
- 이런 형식으로 원하는 속성까지 접근이 가능하며 kubectl json 구조를 잘 알아야할 필요가 있어 보인다.
- 결과적으로 정답은 5개
- node01 에서 beta.kubernetes.io/arch 레이블의 값이 무엇인가요?
- 이번에도 jsonpath 명령어를 사용해서 검색해봄
controlplane ~ ✖ k get node node01 -o jsonpath='{.metadata.labels.beta\.kubernetes\.io\/arch}'
amd64
- 위에서 보이듯이 beta.kubetnetes~~ 부분에서 . 앞에 역슬래시(\) 가 들어간 이유는 해당 표시를 탈출시켜 문자열로 인식하게끔 하기 위해서
- 답은 amd64
- node01에서 color=blue 레이블을 추가해라
controlplane ~ ➜ k label node node01 color=blue
node/node01 labeled
- k label 명령어를 이용해 레이블을 추가해주었다.
- blue 이름의 디플로이먼트를 생성해라. nginx 이미지와 3개의 레플리카.
controlplane ~ ➜ k create deploy blue --image=nginx --replicas=3
deployment.apps/blue created
- blue 디플로이먼트의 파드들은 어떤 노드에 위치할수 있나요? 두 노드의 테인트를 확인하세요
- 둘다 테인트가 없어서 둘 다 가능함
- node01에만 디플로이먼트의 파드가 위치할 수 있도록 nodeAffinity를 설정해라
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: color
operator: In
values:
- blue
- 디플로이먼트의 template 밑에 해당하는 내용을 작성 해주었다.
- 아직 노드 어피니티의 구조가 익숙하지 않아서 보면서 작성했다. 어차피 시험 내 링크가 있어서 크게 상관없겠지만 그래도 조금 익혀봐야될듯
- red 디플로이먼트를 새로 생성해서 control 플레인 노드에 위치시켜라. nginx 이미지에 2개의 레플리카.
- 먼저 create 명령어로 디플로이먼트를 먼저 생성해주었다.
- 그리고 나서 edit 명령어로 위와 같은 내용을 추가해주고 저장시켜주었다.
- value 값이 따로 정해지지 않아서 Exists 연산자를 이용해 매칭시켜주었다.
k create deploy red --image=nginx --replicas=2
k edit deploy red
label을 추가하거나 jsonpath로 검색하는 게 아직 안익는 것 같다.
더 연습해봐야될듯
그리고 nodeAffinity 추가하는 게 조금 헷갈렸음
반응형
'자격증 > Kubernetes CKA' 카테고리의 다른 글
[CKA] Practice Test - Daemonsets (0) | 2023.12.02 |
---|---|
[CKA] Practice Test - Resource Limits (0) | 2023.12.02 |
[CKA] Practice Test - Taints and Tolerations (0) | 2023.12.02 |
[CKA] Practice Test - Labels and Selectors (0) | 2023.12.02 |
[CKA] Practice Test - Manual Scheduling (0) | 2023.12.02 |