[Kubernetes] kubectl get command

기본 구조 #

1kubectl get [리소스 종류] [옵션]
  • 리소스 종류
    • Pod
    • Service
    • Deployment
    • ConfigMap
    • Secret
    • Node
    • Namespace
    • PersistentVolume
    • StorageClass
    • Ingress

[명령어] --help를 입력하면 더 다양한 옵션들을 찾을 수 있다. {: .prompt-info }

Option #

  • --all-namespaces, -A: 모든 네임스페이스에서 리소스를 조회

    1kubectl get pods --all-namespaces
  • --selector, -l: 라벨 셀렉터를 사용하여 특정 리소스를 조회

    1kubectl get pods -l app=myapp
  • --output, -o: 출력 형식을 지정

    1kubectl get pods -o wide
  • --watch, -w: 리소스 변경 사항을 실시간으로 모니터링

    1kubectl get pods -w
  • --sort-by: 조회 결과를 정렬

    1# "--sort-by=.metadata.creationTimestamp" 명령은 생성된 시간에 따라 정렬
    2kubectl get pods --sort-by=.status.phase

- --field-selector: 필드 셀렉터를 사용하여 특정 필드의 값을 기준으로 리소스를 조회 bash kubectl get pods --field-selector=status.phase=Running

  • --show-labels: 리소스에 대한 라벨 정보를 표시

    1kubectl get pods --show-labels
  • --no-headers: 표 헤더를 표시하지 않는다.

    1kubectl get pods --no-headers
  • --export: 출력 결과에서 불필요한 정보를 제거

    1# "my-pod" 이름을 가진 파드의 YAML 파일을 생성, 이 때 --export 옵션을 사용하면 출력 결과에서 상태 및 메타데이터와 같은 불필요한 정보가 제거
    2kubectl get pod my-pod -o yaml --export > my-pod.yaml
  • --field-selector와 함께 사용할 수 있는 필드는 다양

    • "status.phase" 필드는 파드의 실행 상태를 나타내며, "metadata.name" 필드는 파드의 이름을 나타낸다.
  • --show-kind: 조회 결과에 리소스 유형을 표시

    1kubectl get pods --show-kind
  • --ignore-not-found: 조회 결과가 없는 경우 에러를 발생시키지 않고 정상적으로 종료

    1kubectl get pods my-pod --ignore-not-found
  • --timeout: 조회 시간 제한을 설정

    1# "--timeout=5s" 명령은 5초 동안 조회를 시도
    2kubectl get pods --timeout=10s
  • --selector와 함께 사용할 수 있는 라벨 셀렉터의 사용 예시는 다음과 같다.

     1# "app=myapp" 라벨을 가진 파드를 조회
     2kubectl get pods -l app=myapp
     3
     4# "app" 라벨이 "myapp"이 아닌 파드를 조회
     5kubectl get pods -l app!=myapp
     6
     7# "app" 라벨이 "myapp" 또는 "yourapp"인 파드를 조회
     8kubectl get pods -l 'app in (myapp, yourapp)'
     9
    10# "app" 라벨이 "myapp" 또는 "yourapp"이 아닌 파드를 조회
    11kubectl get pods -l 'app notin (myapp, yourapp)'

자주 쓰는 명령어는 kubectl-cheatsheet {: .prompt-info }

Advertisement