Cloud Native/K8s

k8s 실전: 클러스터 리소스 및 헬스 체크

lys4321 2026. 2. 24. 00:57

kubectl top <하위 명령어>

  • CPU / 메모리 사용량을 조회하는 명령어
  • kubelet이 제공하는 메트릭을 Metrics Server가 수집해서 제공하기 때문에 Metric Server 가 클러스터에 있어야 동작한다.
    • 이 값은 HPA, VPA 오토스케일러가 사용하는 안정화된 메트릭이라 실제 OS의 top 의 명령어와는 다를 수 있다.
    • 정확한 모니터링 용이 아닌, 오토스케일링용 데이터
  • 사용 상황의 예시
    • 바로바로 리소스 사용량 확인 시
    • 대략적인 전체 자원 사용 패턴 파악 시
    • HPA/VPA 동작 확이 시
  • 정확한 모니터링, 대시보드, 알람 등을 위해서 Prometheus/Grafana 같은 솔루션을 이용해야 한다.
  • 하위명령어의 종류
    • node [옵션]
      • 노드별 CPU/메모리 사용량을 표시
      • 옵션의 종류
        • --no-header
        • --selector
        • --sort-by 필드명
        • --use-protocol-buffers
          • Metrics API 로 접근 시, 프로토콜 버퍼 방식 사용여부
          • 기본은 true
        • --show-capacity
          • 기본값은 Allocatable 리소스 기준이다
          • 사용 시 노드의 총 리소스 기준으로 CPU/메모리 표시
        • --show-swap
          • 노드의 스왑 관련 리소스 사용량까지 출력
    • pod
      • Pod 별 CPU/메모리 사용량을 표시
      • 옵션의 종류
        • --all-namespaces
        • --containers
        • --selector
        • --no-headers

kubectl certificate <하위 명령어> [옵션]

  • certificate 리소스를 수정하는 명령어 그룹
  • k8s의 CertificateSigningRequest(CSR) 오브젝트를 승인하거나 거부 시, 사용
  • 관리자가 CSR을 검증하고 SSL/TLS 인증서를 발급 시 필요하다.
  • 사용하는 하위명령어
    • approve CSR이름
      • CSR을 승인하여 해당 요청에 대한 인증서를 발급하도록 API 서버에 명령
    • deny CSR이름
      • CSR을 거부
  • 주로 사용되는 옵션
    • --namespace
    • --kubeconfig
    • --context
    • --v
    • --output