본문 바로가기
CKA

CKA - kodekloud Practice Test - Resource Limits & DaemonSets & Static PODs

by 2won2 2025. 6. 30.

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