Resource Limits
- pod의 CPU 요구사항 확인
- kubectl describe pod name
- pod의 limit 변경
- -o yaml > name.yaml로 생성 후 vi를 통해 변경
- 주의할점 : pod 삭제 후 진행
DaemonSets
- 모든 namespace에 존재하는 daemonset 조회
- kubectl get daemonset --all-namespaces
- kube-proxy DaemonSet이 몇 개의 노드에 pod를 실행시켰는지 확인(노드가 몇개인가와 같은 질문)
- kubectl get daemonset kube-proxy -n kube-system
- FluentD 로그 수집기를 위한 DaemonSet을 배포
- kubectl create deployment elasticsearch --image=registry.k8s.io/fluentd-elasticsearch:1.20 -n kube-system --dry-run=client -o yaml > fluentd.yaml
- vi fluentd.yaml 후 deploy로 생성된 것을 daemonset으로 변경, replica와 같은 에러 요인 제거
Static PODs
- 클러스터 전체에서 Static Pod 갯수 확인
- k get pods --all-namespaces 후 Name에서 맨 뒤에 node name이 붙은 갯수
- 현재 Static Pod들이 생성된 노드 확인
- kubectl get pods --all-namespaces -o wide
- name에 node name이 붙은 것과, 해당 노드 확인
- static-busybox라는 이름의 Static Pod를 생성, 이미지=busybox, ns=default, 명령어로 sleep 1000 수행
- kubectl run --restart=Never --image=busybox static-busybox --dry-run=client -o yaml --command -- sleep 1000 > /etc/kubernetes/manifests/static-busybox.yaml
- 직접 실행하지 않고 Static Pod 정의 경로에 저장함으로써 kubelet이 감지해서 실행
- 전에 생성된 것을 이미지 변경하여 재생성
- 이전 것을 수정하는게 아니라 새로 생성
- kubectl run --restart=Never --image=busybox:1.28.4 static-busybox --dry-run=client -o yaml --command -- sleep 1000 > /etc/kubernetes/manifests/static-busybox.yaml
- static pod인 static-greenbox 삭제
- 1 : static-greenbox가 어떤 노드에 생성됐는지 찾기
- kubectl get pods --all-namespaces -o wide | grep static-greenbox
- 2 : 해당 노드(node01)로 접속
- ssh node01
- 3 : kubelet이 static pod를 어디에서 감시하는지 확인, static pod 경로 확인
- ps -ef | grep /usr/bin/kubelet
- grep -i staticpod /var/lib/kubelet/config.yaml
- 4 : 해당 경로로 이동해서 YAML 파일 삭제
- cd /etc/just-to-mess-with-you
- ls
- rm -rf greenbox.yaml
- 1 : static-greenbox가 어떤 노드에 생성됐는지 찾기