스테이트풀(Stateful) 워크로드 검사

이 페이지에서는 Google Distributed Cloud (GDC) 오프라인 Kubernetes 클러스터에서 실행되는 기존 스테이트풀 워크로드를 검사하는 방법을 설명합니다. 스테이트풀(Stateful) 워크로드를 사용하면 영구 컨테이너 스토리지로 애플리케이션을 실행할 수 있습니다. GDC 콘솔 또는 kubectl CLI를 사용하여 스테이트풀 워크로드를 확인하여 리소스 사용량과 워크로드 상태를 모니터링할 수 있습니다.

이 페이지는 조직의 애플리케이션 워크로드를 관리하는 애플리케이션 운영자 그룹 내 개발자를 위한 페이지입니다. 자세한 내용은 GDC 오프라인 문서 대상을 참고하세요.

시작하기 전에

Kubernetes 클러스터에 대해 명령어를 실행하려면 다음 리소스가 있어야 합니다.

  1. Kubernetes 클러스터 이름을 찾거나 플랫폼 관리자에게 클러스터 이름을 문의합니다.

  2. Kubernetes 클러스터의 kubeconfig 파일이 없는 경우 로그인하여 생성합니다.

  3. Kubernetes 클러스터의 kubeconfig 경로를 사용하여 이 안내의 KUBERNETES_CLUSTER_KUBECONFIG를 바꿉니다.

프로젝트에 배포된 모든 워크로드를 보는 데 필요한 권한을 얻으려면 조직 IAM 관리자에게 프로젝트 네임스페이스에 워크로드 뷰어 역할(workload-viewer)을 부여해 달라고 요청하세요.

상태 저장 워크로드를 검사하는 데 필요한 권한을 얻으려면 조직 IAM 관리자에게 프로젝트 네임스페이스의 네임스페이스 관리자 역할 (namespace-admin)을 부여해 달라고 요청하세요.

프로젝트의 컨테이너 워크로드 보기

프로젝트의 컨테이너 워크로드를 보려면 다음 단계를 완료하세요.

콘솔

  • 탐색 메뉴에서 Kubernetes Engine > 워크로드를 선택합니다.

    다음과 같은 컨테이너 워크로드의 세부정보를 볼 수 있습니다.

    • 이름
    • 유형
    • 포드 수
    • Kubernetes 클러스터
    • 최종 수정일

    컨테이너 워크로드는 속한 Kubernetes 클러스터별로 정리됩니다. 클러스터 드롭다운을 선택하여 클러스터 컨텍스트를 전환합니다.

CLI

  • 다음 명령어를 실행하여 프로젝트의 모든 포드를 나열합니다.

    kubectl get pods -n PROJECT_NAMESPACE
    

    출력은 다음과 비슷합니다.

    NAME                        READY   STATUS    RESTARTS   AGE
    nginx-workload-ah-aa-1228   1/1     Running   0          12h
    nginx-workload-ah-ab-6784   1/1     Running   0          11h
    nginx-workload-ah-ac-0045   1/1     Running   0          12h
    

StatefulSet 리소스 검사

StatefulSet 리소스의 구성요소에 관한 자세한 정보를 요청하려면 검사하려는 항목을 직접 타겟팅하는 명령어를 실행하세요.

StatefulSet 객체 정보 가져오기

StatefulSet 객체에 관한 자세한 정보를 가져오려면 다음을 실행합니다.

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe statefulset STATEFULSET_NAME

다음을 바꿉니다.

  • KUBERNETES_CLUSTER_KUBECONFIG: StatefulSet 객체를 실행하는 클러스터의 kubeconfig 파일입니다.

  • NAMESPACE: 프로젝트 네임스페이스입니다.

  • STATEFULSET_NAME: StatefulSet 객체의 이름입니다.

라이브 구성을 YAML 형식으로 표시

StatefulSet 리소스의 라이브 구성을 YAML 형식으로 표시하려면 다음을 실행합니다.

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get statefulset STATEFULSET_NAME -o yaml

다음을 바꿉니다.

  • KUBERNETES_CLUSTER_KUBECONFIG: StatefulSet 객체를 실행하는 클러스터의 kubeconfig 파일입니다.

  • NAMESPACE: 프로젝트 네임스페이스입니다.

  • STATEFULSET_NAME: StatefulSet 객체의 이름입니다.

포드 나열

StatefulSet에서 생성된 Pod 객체를 나열하려면 다음을 실행합니다.

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pods -l app=APP_NAME

이 명령어에서 -l 플래그는 APP_NAME 라벨이 지정된 모든 Pod 객체를 나열합니다.

다음을 바꿉니다.

  • KUBERNETES_CLUSTER_KUBECONFIG: StatefulSet 객체를 실행하는 클러스터의 kubeconfig 파일입니다.

  • NAMESPACE: 프로젝트 네임스페이스입니다.

  • APP_NAME: StatefulSet 객체에서 관리하는 상태 저장 애플리케이션의 이름입니다.

특정 포드 정보 가져오기

클러스터에서 특정 Pod에 대한 정보를 가져오려면 다음을 실행합니다.

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pod POD_NAME

다음을 바꿉니다.

  • KUBERNETES_CLUSTER_KUBECONFIG: 포드를 실행하는 클러스터의 kubeconfig 파일입니다.

  • NAMESPACE: 프로젝트 네임스페이스입니다.

  • POD_NAME: StatefulSet 객체에 의해 관리되는 포드의 이름입니다.

PVC 나열

클러스터의 PersistentVolumeClaim (PVC) 객체를 나열하려면 다음을 실행합니다.

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    get pvc

다음을 바꿉니다.

  • KUBERNETES_CLUSTER_KUBECONFIG: PVC를 실행하는 클러스터의 kubeconfig 파일입니다.

  • NAMESPACE: 프로젝트 네임스페이스입니다.

특정 PVC 정보 가져오기

클러스터에서 특정 PersistentVolumeClaim (PVC)에 대한 정보를 가져오려면 다음을 실행합니다.

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pvc PVC_NAME

다음을 바꿉니다.

  • KUBERNETES_CLUSTER_KUBECONFIG: PVC를 실행하는 클러스터의 kubeconfig 파일

  • NAMESPACE: 프로젝트 네임스페이스입니다.

  • PVC_NAME: StatefulSet 객체에 대해 구성된 PVC의 이름입니다.

PV 정보 가져오기

클러스터에서 특정 PersistentVolume (PV)에 대한 정보를 가져오려면 다음을 실행합니다.

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
    describe pv PV_NAME

다음을 바꿉니다.

  • KUBERNETES_CLUSTER_KUBECONFIG: PV를 실행하는 클러스터의 kubeconfig 파일입니다.

  • NAMESPACE: 프로젝트 네임스페이스입니다.

  • PV_NAME: StatefulSet 객체에 대해 구성된 PV의 이름입니다.