[영상 보기] K8S 도입하면서 겪은 일들
K8s 를 사용하면서 겪었던 문제들과 해결 방법들
-
마스터 노드에 팟이 띄워지면서 리소스 부족으로 api 요청을 받을 수 없는 이슈가 발생
→ 노드 taint 설정으로 해결
-
하나의 팟에 이슈가 생기면서 노드 전체에 영향이 가면서, 노드가 먹통 되는 이슈가 발생
→ pod 에 최대 사용량 (limit) 지정
-
Deploy 의 변경사항이 반영되지 않음
→ rollout restart 를 통해 강제 재시작
-
Pod 가 배치 작업에 영향을 받거나 Pod 가 한 노드에만 스케줄링 됨
→ 목적에 따라 노드를 분리 후 nodeAffinity 설정을 활용 (서비스용, 배치 작업용 노드)
→ podAntiAffinity 설정을 활용
-
Pod 재배포가 되지 않음
→ 노드 수를 실제 필요 노드 수보다 여유있게 잡음
-
Pod 는 정상적이나 서비스는 요청을 받을 수 없는 상태, 배포 시 마다 순단 발생 과 같은 문제 발생
→ Liveness Probe, Readiness Probe 를 활용
-
서비스 접근을 위한 열려있는 포트번호를 까먹거나 업무 시간 외 포트 번호 오픈 요청을 드려야 하는 경우 발생
→ Ingress 를 사용하여 Path 기반 라우팅으로 외부에서 간편하게 접속할 수 있도록 설정
그외 꿀팁
-
pod get -o wide, pod describe 명령을 통해 문제 발생 시 좀 더 많은 정보를 얻을 수 있음
-
pod 로그 확인 방법:
- 1) stern (바로바로 pod 로그를 확인해야 할 때)
- 2) 로그 수집기 + grafana
느낀점
- 여러가지 K8S 를 도입/운영하면서 직접 겪었던 다양한 경험들을 들을 수 있었고, 나도 겪어봤던 이슈가 있었기 때문에 공감을 하면서 재밌게 들을 수 있었음.
- K8S 를 사용하기 시작하거나 사용해 본지 1~2년 정도 된 사람들이 ‘어떤 이슈들이 발생할 수 있고, 이런 문제가 발생했을 때 다른 사람은 어떻게 해결했을지?’ 를 알아가는데 도움이 될 만한 영상 이었던 것 같음.
- 개인적으로 K8S 를 사용하거나 업무에서 사용할 때도 해당 세션 연사자 분이 겪었던 일들을 공유한 것처럼 어떤 이슈들이 있었고, 이를 어떻게 해결했는지 문서로라도 정리해두는 습관을 기르려고 노력해야겠다는 생각이 들었음.