Application Failure
curl http://web-service-ip:node-port
Application ์ ์ ์ํ ์ ์๋ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ ์ฌํญ๋ค์ ์ง๋จํด๋ณผ ์ ์๋ค.
Check Service Status
kubectl describe service web-service
๋จผ์ ์ ๋ช
๋ น์ด๋ฅผ ํตํด Selector
์ Endpoints
๋ถ๋ถ์ ํ์ธํ์ฌ Service ๊ฐ Pod ์ ์ ์ฐพ์๋๋์ง ์ง๋จํ ํ ๋ง์ฝ ์ด์๊ฐ ์๋ค๋ฉด Pod ์ metadata.labels.name
๊ณผ spec.containers.ports.containerPort
๋ฅผ ํ์ธํด ๊ณ ์ณ์ฃผ๋๋ก ํ์.
Check Pod
kubectl get pod
kubectl describe pod web
kubectl logs web -f --previous
Pod ์ ์ฌ์์ ์ํ์ log ๋ค์ ํ์ธํ์ฌ ๋ฌธ์ ๋ฅผ ์ฐพ์๋ณด์.
Check Dependent Service & Pod
์๊น์ง ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ์ข ์์ฑ ์๋ Service ์ Pod ๋ฅผ ์์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ง๋จํด๋ณด์.
Control Plane Failure
kubectl get nodes
kubectl get pods
kubectl get pods -n kube-system
๋จผ์ K8s Cluster ์ Node ์ Pod ๋ค์ ์ํ๋ฅผ ํ์ธํ ํ, Control Plane Pod ๋ค์ด ์ ์์ ์ผ๋ก ์๋ํ๋์ง ํ์ธํ๋ค.
service kube-apiserver status
service kube-controller-manager status
service kube-scheduler status
service kubelet status
service kube-proxy status
๋ง์ฝ kubeadm ์ผ๋ก ๊ตฌ์ถํ์ง ์์ service ํํ๋ก ์คํ์ค์ธ ๊ฒฝ์ฐ ์์ ๊ฐ์ ๋ช ๋ น์ด๋ก ์ํ๋ฅผ ํ์ธํ ์ ์๋ค.
kubectl logs kube-apiserver-master -n kube-system
sudo journalctl -u kube-apiserver
์ดํ ๊ฐ Component ๋ค์ Log ๋ฅผ ํ์ธํด๋ณด์.
/etc/kubernetes/manifests/
kubeadm ์ ์ฌ์ฉํด Cluster ๋ฅผ ๊ตฌ์ถํ ๊ฒฝ์ฐ ์ ๊ฒฝ๋ก์์ ์กฐ์น๊ฐ ํ์ํ Component ๋ฅผ ์์ ํด์ฃผ์.
Worker Node Failure
kubectl get nodes
kubectl describe node worker-1
์ ๋ช ๋ น์ด๋ค๋ก Node ์ ์ํ๋ฅผ ํ์ธํ ๋ค,
top
df -h
CPU ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํ์ธํ๊ณ ,
service kubelet status
sudo journalctl -u kubelet
kubelet ์ ์ํ๋ฅผ ํ์ธํ๊ณ ,
service kubelet start
kubelet ์ ์ฌ์์ํ๊ฑฐ๋,
cat /etc/kubernetes/kubelet.conf
kubelet ์ค์ ์ ํ์ธํด๋ณด์.
openssl x509 -in /var/lib/kubelet/worker-1.crt -text
CA ์ Issuer, Validity, Subject ๋ฑ์ ํ์ธํด๋ณด์.
Network Troubleshooting
Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "c117e7be807116764889d820a073a0054630776881ddb92dfc46c2cbd174ce4e": plugin type="weave-net" name="weave" failed (add): unable to allocate IP address: Post "http://127.0.0.1:6784/ip/c117e7be807116764889d820a073a0054630776881ddb92dfc46c2cbd174ce4e": dial tcp 127.0.0.1:6784: connect: connection refused
CNI Plugin ์ด ์ค์น๋์ด์์ง ์์ ๊ฒฝ์ฐ ์์ ๊ฐ์ ์๋ฌ๋ฅผ ํ์ธํ ์ ์๋ค.
curl -L https://github.com/weaveworks/weave/releases/download/latest_release/weave-daemonset-k8s-1.11.yaml | kubectl apply -f
์ค์นํด์ฃผ์.