본문 바로가기

Container/Kubernetes

[Kubernetes] Component 동작으로 이해하기

728x90
반응형

1. 주요 컴포넌트 구성

 

> 유용한 커맨드

//resource 확인
kubectl api-resources

// Cluster  주요 컴포넌트 로그 확인
// 주요 컴포넌트 로그 보기 (kube-system)
kubectl get pods -n kube-system
kubectl logs -n kube-system etcd-k8s-master
kubectl logs -n kube-system kube-scheduler-k8s-master
kubectl logs -n kube-system kube-apiserver-k8s-master


// Master Node 파일 위치
// 쿠버네티스 인증서 위치
cd /etc/kubernetes
ls /root/.kube/config

// Control Plane Component Pod 생성 yaml 파일 위치
ls /etc/kubernetes/manifests

// 전체 Pod 로그
/var/log/pods/<namespace_<pod-name>_<uid>/<number>.log
/var/log/containers/<pod-name>_<namespace>_<container-name>_<container-id>.log

 

 

> 트러블 슈팅

// 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분 이내에 생성된 로그만 보기

 

 

> iptables 에서 nodeport 조회

iptables -t nat -L KUBE-NODEPORTS -n  | column -t

 

 

> 2. Pod 생성 및 probe 동작

- kubelet이 containerd에 container 생성 요청. 생성된 container에 probe 체크

 

 

 

> 3. Service 동작

- kubelet -> kube-proxy -> iptables에 serivce와 port 설정 후, calico를 이용하여 container에 외부로부터의 트래픽 전달.

 

 

> 4. Secret 동작

- kubelet이 secret을 생성 후 container에 마운트.

 

 

> 5. HPA 동작

- 기본적으로 kubelet이 10초단위로 container의 cpu/memory를 조회

- metrics-server가 주기적으로 사용량을 수집.

- kube-controller-manager가 metrics-server와 HPA를 지속적으로 확인하여 Deployment를 통해 스케일링 진행.

- 최저 1초, 최대 85초

728x90
반응형