구성 동기화 대시보드 사용

이 페이지에서는 구성 동기화 대시보드를 사용하는 방법을 설명합니다.

이 대시보드는 구성 동기화가 관리하는 패키지와 이러한 패키지의 리소스 상태에 대한 포괄적인 개요를 제공합니다.

시작하기 전에

IAM 권한

구성 동기화 대시보드에 액세스하려면 프로젝트에 다음 IAM 역할이 필요합니다.

  • roles/container.clusterViewer
  • roles/gkehub.viewer

역할 기반 액세스 제어

또한 사용자에게는 각 클러스터에서 관련 Kubernetes 권한이 필요합니다. 사용자에게 클러스터 관리자 권한과 같은 광범위한 권한을 부여하지 않으려면 구성 동기화 대시보드를 사용하는 데 필요한 최소 권한이 포함된 커스텀 RBAC 역할을 만들 수 있습니다.

config-sync-dashboard-reader ClusterRole은 사용자에게 대시보드에 필요한 리소스에 대한 getlist 권한을 부여합니다.

  1. config-sync-dashboard-reader ClusterRole을 만들고 이를 클러스터에 적용하려면 다음 명령어를 실행합니다.

    cat <<EOF > config-sync-dashboard-reader.yaml
    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: config-sync-dashboard-reader
    rules:
    - apiGroups: ["apiextensions.k8s.io"]
      resources: ["customresourcedefinitions"]
      verbs: ["get", "list"]
    - apiGroups: ["configmanagement.gke.io"]
      resources: ["configmanagements"]
      verbs: ["get", "list"]
    - apiGroups: ["configsync.gke.io"]
      resources: ["rootsyncs", "reposyncs"]
      verbs: ["get", "list"]
    - apiGroups: ["kpt.dev"]
      resources: ["resourcegroups"]
      verbs: ["get", "list"]
    - apiGroups: ["apps"]
      resources: ["deployments"]
      verbs: ["get", "list"]
    - apiGroups: [""]
      resources: ["pods", "services"]
      verbs: ["get", "list"]
    - apiGroups: ["anthos.cloud.google.com"]
      resources: ["canonicalservices"]
      verbs: ["get", "list"]
    - apiGroups: ["networking.istio.io"]
      resources: ["virtualservices"]
      verbs: ["get", "list"]
    EOF
    kubectl apply -f config-sync-dashboard-reader.yaml
    
  2. Google Kubernetes Engine(GKE) Enterprise 버전 클러스터에서 역할 기반 액세스 제어를 구성하는 안내에 따라 ClusterRoleBinding을 설정합니다.

대시보드에 액세스

  1. Google Cloud 콘솔에서 기능 섹션 아래의 구성 페이지로 이동합니다.

    구성으로 이동

  2. 보려는 프로젝트를 선택합니다.

대시보드 보기

대시보드 탭에서는 구성 동기화 설치 상태에 대한 개요를 제공합니다.

  • 조정 상태는 조정된 패키지 수를 보여줍니다. 원하는 상태(패키지의 리소스로 표현)가 실현되면 패키지가 조정됩니다.

    패키지의 조정 상태는 다음과 같습니다.

    • Current(현재): 패키지의 실제 상태가 원하는 상태와 일치합니다. 조정 프로세스는 원하는 상태 또는 실제 상태가 변경될 때까지 완료된 것으로 간주됩니다.
    • In progress(진행 중): 패키지의 실제 상태가 원하는 상태(패키지의 리소스로 표현)에 아직 도달하지 않았습니다. 새로 생성된 패키지는 일반적으로 이 상태로 시작합니다.
    • Failed(실패): 원하는 상태로 실제 상태를 조정하는 과정 중 오류가 발생했거나 충분히 진행되지 않았습니다.
    • Unknown(알 수 없음): 구성 동기화가 패키지의 조정 상태를 확인할 수 없습니다.
  • 동기화 상태에는 동기화된 패키지 수가 표시됩니다. 패키지는 소스(예: Git 저장소)에서 패키지의 최신 관찰 상태가 반영될 때 동기화됩니다.

    패키지의 동기화 상태는 다음과 같습니다.

    • 동기화됨: 패키지가 클러스터에 동기화되었습니다.
    • 대기 중: 패키지가 동기화 대기 중입니다.
    • 조정 중: 패키지를 동기화하는 배포가 조정되는 중입니다.
    • 중단됨: 패키지를 동기화하는 배포가 중단됩니다.
    • 오류: 동기화 중에 패키지에 오류가 발생했습니다.
    • Unknown(알 수 없음): 구성 동기화가 패키지의 동기화 상태를 확인할 수 없습니다.
  • 구성 동기화 상태는 클러스터에 있는 구성 동기화의 설치 상태를 표시합니다.

    구성 동기화와 관련하여 클러스터는 다음과 같은 상태를 가질 수 있습니다.

    • 사용 설정됨: 구성 동기화가 사용 설정된 클러스터입니다.
    • 사용 설정되지 않음: 구성 동기화가 사용 설정되지 않은 클러스터입니다.
    • 대기 중: 구성 동기화가 사용 설정되었지만 변경 중인 클러스터입니다. 이 상태는 일반적으로 최초 구성 시 또는 새 버전으로 업데이트할 때 발생합니다.
    • 오류: 구성 동기화가 사용 설정된 클러스터이지만 문제가 있고 구성 동기화가 작동하지 않습니다.
    • 알 수 없음: 구성 동기화 상태를 확인할 수 없습니다.

추가 표에서는 패키지 및 클러스터별로 그룹화된 문제를 표시하며, 구성 동기화를 설치하고 설정을 볼 수 있는 링크와 시작하기 리소스를 제공합니다.

패키지 상태 보기

패키지 탭에서 개별 패키지 및 클러스터에 대한 자세한 세부정보를 볼 수 있습니다. 이 탭을 사용하면 동기화 오류 및 비정상 리소스의 잠재적 원인을 더 잘 이해할 수 있습니다.

패키지 수정

패키지 탭을 사용하여 패키지 구성을 수정할 수도 있습니다.

패키지를 수정하려면 다음 단계를 완료하세요.

  1. 수정할 패키지 이름 옆에 있는 패키지 수정 열에서 를 선택합니다.
  2. 패키지 세부정보 섹션의 소스 유형 드롭다운 목록에서 소스 유형을 선택합니다.
  3. 소스 섹션에서 다음을 완료합니다.

    • Git 저장소에서 호스팅되는 소스의 경우 다음 필드를 입력합니다.

      1. 저장소 URL로 정보 소스로 사용하는 Git 저장소의 URL을 입력합니다.
      2. (선택사항): 기본 HEAD를 사용하지 않는지 확인하려면 버전 필드를 업데이트합니다.
      3. (선택사항): 루트 저장소에서 동기화하지 않으려면 경로 필드를 업데이트합니다.
      4. (선택사항): 기본 main 브랜치를 사용하지 않는 경우 브랜치 필드를 업데이트합니다.
    • OCI 이미지에서 호스팅되는 소스에 다음 필드를 입력합니다.

      1. 정보 소스로 사용하는 OCI 이미지의 URL을 이미지로 입력합니다.
      2. 루트 디렉터리를 기준으로 동기화할 디렉터리의 경로를 디렉터리로 입력합니다.
  4. (선택사항): 고급 설정 섹션을 확장하여 다음을 완료합니다.

    1. 인증 유형을 선택합니다.

      • None: 인증을 사용하지 않습니다.
      • SSH: SSH 키 쌍을 사용합니다.
      • Cookiefile: cookiefile을 사용합니다.
      • Token: 토큰을 사용합니다.
      • Google Cloud Repository: Google 서비스 계정을 사용하여 Cloud Source Repositories 저장소에 액세스합니다. 워크로드 아이덴티티가 클러스터에 사용 설정되지 않은 경우에만 이 옵션을 선택합니다.
      • 워크로드 아이덴티티: Google 서비스 계정을 사용하여 Cloud Source Repositories 저장소에 액세스합니다.
    2. 동기화 대기 시간을 설정하려면 숫자(초)를 입력하세요. 여기서는 구성 동기화가 정보 소스에서 동기화를 대기하는 시간을 결정합니다.

    3. 정보 소스와 통신할 때 사용될 HTTPS 프록시의 Git 프록시 URL을 입력합니다.

    4. 계층 구조를 선택하여 소스 형식을 변경합니다.

      기본값인 구조화되지 않음은 원하는 방식으로 소스를 구성할 수 있으므로 대부분의 경우에 권장됩니다.

  5. 패키지 수정을 마치면 저장을 클릭합니다.

    구성 동기화 패키지 페이지로 리디렉션됩니다. 몇 분 후에 구성한 패키지의 동기화 상태 열에 Synced(동기화됨)가 표시됩니다.

설정 보기

설정 탭에는 클러스터 목록과 해당 구성 동기화 설정 및 Fleet 설정에 대한 정보가 표시됩니다.

이 탭을 사용하여 클러스터에서 구성 동기화를 업그레이드할 수도 있습니다.

  • 업그레이드할 클러스터 이름 옆에 있는 컨텍스트 메뉴 를 선택한 후 구성 수정을 선택하세요.

구성 동기화 설정에 대한 안내는 구성 동기화 구성을 참조하세요.

다음 단계