개발/Infra

(인강복습) 쿠버네티스 어나더 클래스 Sprint 1 - Application 기능으로 이해하기 - Component 동작으로 이해하기

희묭 2025. 4. 10. 16:25
  1. Pod가 생성되는 과정 + Prob
    1. kubectl → kube-apiserver → etcd → Deployment 생성
    2. kube-controller-manager → Deployment 발견 → ReplicatSet 생성
    3. kube-controller-manager → ReplicatSet 발견 → Pod 생성
    4. kube-scheduler → pod를 띄울 노드 스케쥴링 → kube-apiserver → kubelet → containerD
    5. kubelet → probe체크 → 컨테이너
  2. 서비스 동작
    1. kubelet → kube-proxy → 네트워크연결요청 → iptables 업데이트 → calico가 컨테이너로 연결
  3. Secret
    1. 노드의 메모리영역에 마운트됨 (물리적 보안)
    2. 많은 데이터를 사용하면 메모리부족가능성
  4. HPA
    1. HPA metrics → kube-controller-manager → metrics-server → kubelet → 컨테이너D가 자원체크

트러블슈팅

// kubelet 상태 확인
1) systemctl status kubelet       // systemctl (restart or start) kubelet
2) journalctl -u kubelet | tail -10

// 상태 확인 -> 상세 로그 확인 -> 10분 구글링 -> VM 재기동 -> Cluster 재설치 ->  답을 찾을 때 까지 구글링

// containerd 상태 확인
1) systemctl status containerd
2) journalctl -u containerd | tail -10

// 노드 상태 확인
1) kubectl get nodes -o wide
2) kubectl describe node k8s-master

// Pod 상태 확인
1) kubectl get pods -A -o wide
// Event 확인 (기본값: 1h)
2-1) kubectl get events -A
2-2) kubectl events -n anotherclass-123 --types=Warning  (or Normal)
// Log 확인
3-1) kubectl logs -n anotherclass-123 <pod-name> --tail 10    // 10줄 만 조회하기
3-2) kubectl logs -n anotherclass-123 <pod-name> -f           // 실시간으로 조회 걸어 놓기
3-3) kubectl logs -n anotherclass-123 <pod-name> --since=1m   // 1분 이내에 생성된 로그만 보기

중요한건 꺽이지않는 구글링