반응형
이번엔 replicasets 에 대한 Practice이다.
- default 네임스페이스에 파드가 얼마나 있나요?
- k get po 명령어를 이용해서 체크해봄 하나도 없다
- ReplicaSets 가 얼마나 있나요?
- 동일하게 k get rs 명령어를 입력해서 확인함
kubectl get replicaset
# 이렇게 확인해도 되지만 kubectl==k replicaset==rs 로 축약할 수 있다.
- 얼마나 많은 레플리카셋이 있나요?
- 시스템에서 레플리카셋을 생성하고 다시 물어보았다.
- 처음에는 4개를 입력했다.
- 엥 왜 안되지라고 생각이 들었고 k get po를 입력해 pod를 확인해보니까 현재 Running 상태인게 하나도 없어서 0을 입력했다.
- 또 안돼서 곰곰이 생각해보니까 실행 중인 파드나 DESIRED의 개수를 물어보는 게 아니라 ReplicaSets 그 자체를 물어보는 것이기 때문에 1이 맞다고 생각 결국 정답
- new-replica-set 에 DESIRED 는 몇개 있나요?
- k get rs 명령어로 확인함. 4개.
- new-replica-set 의 이미지는 무엇인가요?
- k describe rs new-replica-set 명령어를 이용해서 확인함
- 정답은 busybox777
- new-replica-set 의 READY pod는 몇개인가요?
- 하나도 없어서 0
- 왜 파드가 준비되지 않았다고 생각하나요?
- k describe po new-replica-set 명령어 입력해서 확인해봄
- busybox777 이미지를 가져오지 못하는 것 같음
- 4개의 pod 중 하나를 삭제하세요
- k delete po 명령어 입력해서 하나 삭제해줌
- 지금은 파드가 몇 개 있나요?
- error 상태인 파드 4개가 그대로 있었음 하지만 지웠다가 다시 생성되었기 때문에 AGE를 확인 해보면 15s 인 파드가 하나 있는것을 볼 수 있음
- 왜 너가 파드를 하나 지웠는데 그대로있나요?
- ReplicaSet에 복제본 수가 4개이기 때문에 pod 내부에 컨테이너가 띄워지던 말던 레플리카셋은 파드 개수를 4개로 유지해야만 한다.
- replicaset-definition-1.yaml 파일로 레플리카셋을 생성하세요. 다만 파일에 문제가 있으니 해결하세요
- 문제가 있다는 말을 듣고 vi로 확인 해보니 apiVersion: v1 이렇게 되어 있었음
- 레플리카셋은 apiVersion을 apiVersion: apps/v1 으로 지정해줘야함
- 내용 변경하고 적용하니까 정답 처리 되었음
- replicaset....-2.yaml 파일의 문제를 해결해 레플리카셋을 생성하세요
- 초기 yaml 파일을 보니까 name: replicaset-1 로 되어 있어서 고치고
- selector.matchLabels 항목이랑 template.metadata.labels 항목의 value 값이 다른걸 확인했음
- 다 고치고 apply 하니까 정답처리 됨
- 레플리카셋 -1 과 -2를 지우세요
- delete rs 로 두개 지정해서 지웠음
- 다시 생각해보니 label 기반으로 rs를 지웠어도 되었을
kubectl delete replicaset -l tier=frontend
- new-replica-set의 image를 busybox로 변경해 문제를 해결하세요
- 처음에는 k edit 명령어를 입력해서 레플리카셋의 이미지를 변경해줌
- edit 명령어가 변경해주면 자동으로 파드까지 적용하는 줄 알았는데 아니었음
- pod를 확인해보니까 고장난 상태 그대로여서 고민하다가 GPT 선생님께 물어보니까 rollout 하던지 pod를 수동으로 지워주라고 함. https://chat.openai.com/share/904ed5fb-f0fa-4dff-84ef-becc55949137
- 그래서 rollout 명령어 입력해 봤는데 replicaset이 rollout 지원하지 않는다고 함.....
롤아웃 안되는 레플리카셋도 있구나 싶었음 - 그래서 그냥 레이블 기반으로 파드 삭제해줌
- k get po 명령으로 확인해보니 정상적으로 잘 뜸
- kubectl scale 명령어나 edit 명령어 이용해서 복제본수 5개로 변경해라
- 그냥 scale 명령어 사용해서 스케일 아웃 시켜줌
kubectl scale replicaset <replica name> --replicas=5
# 축약해도 아무 문제 없음
- 이번엔 2개로 스케일 인 하라고 해서 동일하게 명령어 입력해서 해결해줌
음... 레플리카셋은 확실히 파드보다 더 안익숙해서 조금 애먹은 부분이 있음
replicaset에 대한 개념 자체
scale 명령어
edit 명령어 이후 동작에 대해 좀 더 알아볼 필요가 있을 듯
반응형
'자격증 > Kubernetes CKA' 카테고리의 다른 글
[CKA] Practice Test - Namespace (0) | 2023.11.30 |
---|---|
[CKA] Practice Test - Deployments (0) | 2023.11.30 |
[CKA] Practice Test - pod (0) | 2023.11.29 |
[CKA] Core Concepts - 3 (0) | 2023.11.29 |
[CKA] Core Concepts - 2 (3) | 2023.11.29 |