- 마스터 노드 버전 업그레이드 (O)
- 1.28.0 -> 1.28.1 (kubeadm 사용)
- kubelet, kubectl도 같은 버전
- 업그레이드워커노드는 건들지 마세요.
- Etcd Backup & Restore (X)
- peer.key , peer.crt , cacrt , endpoints 로 Back up (성공)
- -> 요구하는 파일명을 사용하여 restore. —data-dir /var/lib/etcd-restore (성공)
- manifests/etcd.yaml 에서 hostpath 부분 Restore할 때 적은 —data-dir 경로로 변경 함
- restore 완료한 부분부터 문제대로 하지않은 거 같은 찝찝함이 있어서 틀렸을거 같다
- Node not ready -> ready (O)
- k get nodes 죽은 node 확인
- root로 접속 kubelet 상태 Inactive 였고 diskpressure
- systemctl restart kubelet && systemctl status kubelet → running 상태로 변경!
- exit 하고 k get node하니까 notready에서 ready로 바뀐거 확인완료
- Node Rescheduling (X)
- 아래의 과정을 거치고 기존 pod들 reschedule 실패한거 확인….
k get node
k drain node node-name --ignore-daemonsets --force
k uncordon node node-name
- Pod에 NodeSelcetor 추가 (O)
- 주어진 pod 이름과 image로 Pod 생성
- 주어진 nodeSelector (disktype: spining)로 Pod yaml에 구문 추가
- 특정 Pod Log 출력하여 파일 추출 (O)
- 특정 pod Log 찍고 Log Level Error 메세지 Copy
- 요구한 파일경로로 파일 추출
- CPU 높은 pod 출력하고 파일추출 (O)
- 주어진 Label이 적용된 Pod 에서 CPU 높은 순서대로 정렬 (name=overloadcpu)
- CPU 높은 Pod이름 출력하여 요구한 파일 추출
- Network policy 생성 (O)
- 특정 Namespace를 사용하여 networkpolicy 생성
- 특정 Pod와 Namespace (Labeling해야함)
- Ingress로 Port 정보 tcp/9100 로 설정
- Ingress 생성 (X)
- Service: hi , Path: /hi , Port: 5678 조건으로 ingress 생성(성공)
- k get ingress pong 하니까 잘 나옴.. describe 했을 때도 에러로그 없었음
- 그러나 IP /hi로 curl 날렸을 때 Timeout 나옴
- RBAC 문제 (O)
- Service Account 생성 (cicd-token)
- ClusteRrole 생성 (resource=Deployment, Replicaset, Statefulset , verb=create)
- Service Account, ClusterRole 으로 ClusterRoleBinding (Namespace: app-test)
- Persistent Volume Claim 생성 → Pod Volume Mount (O)
- PVC 생성 (ReadWriteOnce, Capacity: 10Mi )
- PVC bound 여부 확인
- Pod 생성 ( PVC Mount 하고 요구한 mountPath 설정 )
- Pod 생성 확인
- PVC capacity 10Mi -> 70Mi로 변경 (Edit 사용하여 Record 남겨야함)
- HostPath Persistent Volume 생성 (O)
- 주어진 Hostpath, StorageCalss, Capacity 2Gi 적용
- Deployment Scaling (O)
- 주어진 Deployment에 Pod 6개 더 만들어라
- scale —replicas=6 써서 Scaling
- 멀티 컨테이너 Pod 생성 (O)
- 컨테이너 2개 들어간 Pod 생성
- image/name : redis , memched
- 멀티 컨테이너 사이드카 (X)
- 못풀었음
- Deployment Reconfigure → Service만들어서 Expose (X)
- 기존 Deployment yaml 파일 수정 (성공)
- → port: 80, name: http 추가 (성공)
- 새로운 Service 생성하고 기존 deployment에 Expose 못함
- Node Ready 상태 개수 출력하여 파일추출 (O)
- 순수하게 Ready 만 취급 (taint, Unschedule 제외)
결과는 합격
'DevOps > k8s' 카테고리의 다른 글
Kubernetes 환경에 Prometheus와 Grafana를 설치하고 통합하기 (0) | 2024.01.24 |
---|---|
[CKAD] 리소스 지정하여 Pod 생성하기 (0) | 2024.01.04 |
HoneyComb 오픈텔레메트리를 위한 모니터링 Tool (0) | 2023.12.14 |
[K8s] JSONPATH 활용하여 원하는 데이터 확인하기 (0) | 2023.11.16 |
[CKA] Namespace 내에 Service Account 생성 → Role 생성→ RoleBinding (0) | 2023.11.16 |