콤퓨우터/필기: KodeKloud CKA 강의

252-261. Troubleshooting

파란화면 2024. 5. 17. 00:55
반응형

지도를 그려서, 모든 오브젝트와 링크를 확인해본다
(DB Pod) |DB-Service> (Web Pod) | Web-Service> User

웹서비스일 경우, curl로 web-service:port를 확인해본다
Failed to connect: Connection timed out

web-service의 Selector와 Endpoint 등을 확인해본다
kubectl describe service web-service

Pod의 label과 Service의 Selector가 일치하는지 확인해본다

Pod가 running state인지 확인해본다, kubectl get pod에서 RESTARTS가 누적되고 있는지 확인한다,
kubectl describekubectl log로 상태를 확인한다
(컨테이너가 무한재시작되고 있다면 kubectl log는 재시작 이후의 로그만 보여준다. 이 경우 -f--previous옵션을 이용할 것)

kubernets.io/docs/tasks/debug-application-cluster/debug-application 참고

Control Plane Failure

  • 일단 노드와 Pod의 상태를 확인한다.
  • 만약 kubeadm으로 컨트롤플레인을 구성하였다면, kube-system 네임스페이스의 Pod의 상태를 확인한다.
    • kubeadm log Pod명 -n kube-system으로 로그를 확인한다.
  • 만약 Systemd 서비스로 컨트롤플레인 컴포넌트가 올라가 있다면, service 상태를 확인한다.
    • journalctl -u 서비스명으로 로그를 확인한다.

kubernets.io/docs/tasks/debug-application-cluster/debug-cluster 참조

Worker Node Failure

kubectl get nodes - kubectl describe node
문제를 파악하면 노드에 접속해서 해당 문제를 해결한다 (kubelet logs, certificates, )

Conditions:
  Type                 Status    LastHeartbeatTime                 LastTransitionTime                Reason              Message
  ----                 ------    -----------------                 ------------------                ------              -------
  NetworkUnavailable   False     Sun, 12 May 2024 15:02:07 +0000   Sun, 12 May 2024 15:02:07 +0000   FlannelIsUp         Flannel is running on this node
  MemoryPressure       Unknown   Sun, 12 May 2024 15:02:33 +0000   Sun, 12 May 2024 15:04:55 +0000   NodeStatusUnknown   Kubelet stopped posting node status.
  DiskPressure         Unknown   Sun, 12 May 2024 15:02:33 +0000   Sun, 12 May 2024 15:04:55 +0000   NodeStatusUnknown   Kubelet stopped posting node status.

Network Failure

https://kubernetes.io/docs/concepts/cluster-administration/addons/#networking-and-network-policy
쿠버 공식 문서 이외의 다른 사이트에 접속을 차단하는 CKA와 CKAD 시험 특성상 외부 도큐멘테이션을 봐야 하는 CNI 플러그인 설치 문제는 출제되지 않으며, 출제되더라도 설치를 위한 URL이 제공될 것이다.

CoreDNS in Kubernetes

쿠버에서 사용되는 CoreDNS 리소스는 다음과 같다

  • coredns (서비스)
  • coredns, kube-dns ([[160-164. Authorisation, RBAC and Cluster Roles#Cluster Roles|cluster role]])
  • coredns, kube-dns (cluster role bindings)
  • coredns (deployment)
  • coredns (ConfigMap)
  • coredns (Service)
반응형

'콤퓨우터 > 필기: KodeKloud CKA 강의' 카테고리의 다른 글

263. JSON Path  (0) 2024.05.17
241. etcd in HA  (0) 2024.05.17
230. Ingress  (0) 2024.05.17
226-227. DNS and CoreDNS in Kubernetes  (0) 2024.05.17
223. Service Networking  (0) 2024.05.17