쿠버네티스 대시보드

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated Status: Beta
  • GitLab 16.1에 소개, environment_settings_to_graphql, kas_user_access, kas_user_access_project, expose_authorized_cluster_agents라는 플래그와 함께 도입되었습니다. 이 기능은 베타 상태입니다.
  • 기능 플래그 environment_settings_to_graphql은 GitLab 16.2에서 제거되었습니다.
  • 기능 플래그 kas_user_access, kas_user_access_project, expose_authorized_cluster_agents는 GitLab 16.2에서 제거되었습니다.
  • 16.10에서 환경 세부 정보 페이지로 이동되었습니다.

쿠버네티스 대시보드를 사용하여 직관적인 시각적 인터페이스로 클러스터의 상태를 이해하세요. 대시보드는 CI/CD 또는 GitOps로 배포한 모든 연결된 쿠버네티스 클러스터와 함께 작동합니다.

Kubernetes summary UI

대시보드 구성

  • 네임스페이스별 리소스 필터링이 GitLab 16.2에서 도입되었습니다. 기본 상태에서 비활성화된 kubernetes_namespace_for_environment 플래그와 함께.
  • 네임스페이스별 리소스 필터링이 GitLab 16.3에서 기본 상태에서 활성화되었습니다. 기능 플래그 kubernetes_namespace_for_environment가 제거되었습니다.
  • 관련된 Flux 리소스 선택이 GitLab 16.3에서 도입되었습니다. 기본 상태에서 flux_resource_for_environment 플래그와 함께.
  • 관련된 Flux 리소스 선택이 GitLab 16.4에서 일반적으로 사용 가능해졌습니다. 기능 플래그 flux_resource_for_environment가 제거되었습니다.

특정 환경에 사용하기 위해 대시보드를 구성하세요. 이미 존재하는 환경에 대한 대시보드를 구성하거나 환경을 생성할 때 대시보드를 추가할 수 있습니다.

전제 조건:

  • 쿠버네티스용 GitLab 에이전트가 설치되고 환경의 프로젝트 또는 상위 그룹에 대한 user_access가 구성되어 있어야 합니다.
환경이 이미 존재하는 경우
  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 운영 > 환경을 선택합니다.
  3. 에이전트를 쿠버네티스에 연결할 환경을 선택합니다.
  4. 편집을 선택합니다.
  5. 쿠버네티스용 GitLab 에이전트를 선택합니다.
  6. 쿠버네티스 네임스페이스 드롭다운 목록에서 네임스페이스를 선택할 수 있습니다.
  7. Flux 리소스 드롭다운 목록에서 Flux 리소스를 선택할 수 있습니다.
  8. 저장을 선택합니다.
환경이 존재하지 않는 경우
  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 운영 > 환경을 선택합니다.
  3. 새 환경을 선택합니다.
  4. 이름 필드를 작성합니다.
  5. 쿠버네티스에이전트를 쿠버네티스에 연결할 환경을 선택합니다.
  6. 쿠버네티스 네임스페이스 드롭다운 목록에서 네임스페이스를 선택할 수 있습니다.
  7. Flux 리소스 드롭다운 목록에서 Flux 리소스를 선택할 수 있습니다.
  8. 저장을 선택합니다.

대시보드 보기

  • Kubernetes watch API 통합이 GitLab 16.6에서 도입되었습니다. 기본 상태에서 비활성화된 k8s_watch_api 플래그와 함께.
  • Kubernetes watch API 통합이 GitLab 16.7에서 기본 상태에서 활성화되었습니다.
  • GitLab 17.1에서 일반적으로 사용 가능합니다. 기능 플래그 k8s_watch_api가 제거되었습니다.

연결된 클러스터의 상태를 확인하기 위해 대시보드를 보세요. k8s_watch_api 기능 플래그가 활성화된 경우 쿠버네티스 리소스 및 Flux 조정 업데이트의 상태를 실시간으로 볼 수 있습니다.

구성된 대시보드를 보려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 운영 > 환경을 선택합니다.
  3. 쿠버네티스에이전트와 관련된 환경을 선택합니다.
  4. 쿠버네티스 개요 탭을 선택합니다.

파드 목록이 표시됩니다. 세부 정보를 보려면 파드를 선택하세요.

Flux 동기화 상태

  • GitLab 16.3에서 도입되었습니다.
  • 환경 설정에 대한 플래그 flux_resource_for_environment와 함께 GitLab 16.3에서 Flux 리소스 이름 사용자 정의가 도입되었습니다.
  • 환경 설정에 대한 플래그 flux_resource_for_environment가 제거된 GitLab 16.4에서 Flux 리소스 이름 사용자 정의가 일반적으로 사용 가능해졌습니다.

대시보드에서 Flux 배치 및 Kustomization, HelmRelease 리소스를 검색할 수 있습니다. 대시보드에서 배포 상태를 표시하려면 환경 설정에서 Flux 리소스를 검색하여 환경에 대한 네임스페이스를 구성해야 합니다.

대시보드에는 다음과 같은 상태 배지 중 하나가 표시됩니다:

상태 설명
조정됨 배포가 환경과 성공적으로 조정되었습니다.
조정 중 조정이 진행 중입니다.
중단됨 조정이 인간 개입 없이 해결할 수 없는 오류로 인해 정지되었습니다.
실패함 복구할 수 없는 오류로 인해 배포가 조정되지 않습니다.
알 수 없음 배포의 동기화 상태를 검색할 수 없습니다.
사용 불가 Kustomization 또는 HelmRelease 리소스를 검색할 수 없습니다.

Flux 조정 재조정

Flux 리소스와 수동으로 배포를 조정할 수 있습니다.

조정을 트리거하려면:

  1. 대시보드에서 Flux 배포의 동기화 상태 뱃지를 선택합니다.
  2. 작업 ({ellipsis_v})을 선택하고 조정 재조정 ()을 선택합니다.

Flux 조정 일시 중지 또는 재개

UI에서 Flux 조정을 수동으로 일시 중지하거나 재개할 수 있습니다.

조정을 일시 중지하거나 재개하려면:

  1. 대시보드에서 Flux 배포의 동기화 상태 뱃지를 선택합니다.
  2. 작업 ()을 선택한 후 다음 중 하나를 선택합니다:
    • Flux 조정을 일시 중지하려면 조정 일시 중지 ()를 선택합니다.
    • Flux 조정을 다시 시작하려면 조정 재개 ()를 선택합니다.

Pod 로그 보기

구성된 대시보드에서 환경 간 문제를 빠르게 이해하고 문제 해결하는 경우 Pod 로그를 확인하세요. Pod의 각 컨테이너 로그를 볼 수 있습니다.

  • 로그 보기를 선택한 후 로그를 보고 싶은 컨테이너를 선택합니다.

또한 Pod 세부 사항에서 Pod 로그를 볼 수 있습니다.

Pod 삭제

실패한 Pod를 재시작하려면 Kubernetes 대시보드에서 해당 Pod를 삭제하세요.

Pod를 삭제하려면:

  1. Kubernetes 개요 탭에서 삭제하려는 Pod를 찾습니다.
  2. 작업 ()을 선택하고 Pod 삭제 ()를 선택합니다.

또한 Pod 세부 사항에서 Pod를 삭제할 수 있습니다.

자세한 대시보드

플래그: 이 기능의 사용 가능성은 피처 플래그로 제어됩니다. 자세한 정보는 히스토리를 참조하세요. 이 기능은 테스트용으로 제공되지만 프로덕션 용도로 사용할 수 없습니다.

자세한 대시보드는 다음 Kubernetes 리소스에 관한 정보를 제공합니다:

  • Pods
  • Services
  • Deployments
  • ReplicaSets
  • StatefulSets
  • DaemonSets
  • Jobs
  • CronJobs

각 대시보드는 상태, 네임스페이스 및 연령과 함께 리소스 목록을 표시합니다. 리소스를 선택하여 레이블, YAML 형식의 상태, 어노테이션 및 사양을 포함한 추가 정보를 볼 수 있습니다.

Kubernetes 대시보드 UI

이 이슈에 설명된 중점 변경으로 인해 자세한 대시보드에 대한 작업이 일시 중단되었습니다.

자세한 대시보드에 대한 피드백은 이슈 460279를 참조하세요.

자세한 대시보드 보기

필수 조건:

  • Kubernetes용 GitLab 에이전트가 구성되었으며 해당 환경의 프로젝트 또는 상위 그룹과 user_access 키워드를 사용하여 공유되었습니다.

자세한 대시보드는 사이드바 내비게이션에서 링크되지 않습니다. 자세한 대시보드를 보려면:

  1. Kubernetes 에이전트 ID를 찾으세요:
    1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
    2. 운영 > Kubernetes 클러스터를 선택합니다.
    3. 액세스하려는 에이전트의 숫자 ID를 복사합니다.
  2. 다음 URL 중 하나로 이동합니다. <agent_id>를 에이전트 ID로 대체하세요:

    리소스 유형 URL
    Pods https://myinstance.gitlab.com/-/kubernetes/<agent_id>/pods
    Services https://myinstance.gitlab.com/-/kubernetes/<agent_id>/services
    Deployments https://myinstance.gitlab.com/-/kubernetes/<agent_id>/deployments
    ReplicaSets https://myinstance.gitlab.com/-/kubernetes/<agent_id>/replicaSets
    StatefulSets https://myinstance.gitlab.com/-/kubernetes/<agent_id>/statefulSets
    DaemonSets https://myinstance.gitlab.com/-/kubernetes/<agent_id>/daemonSets
    Jobs https://myinstance.gitlab.com/-/kubernetes/<agent_id>/jobs
    CronJobs https://myinstance.gitlab.com/-/kubernetes/<agent_id>/cronJobs

문제 해결

Kubernetes 대시보드 작업 중에 다음과 같은 문제가 발생할 수 있습니다.

사용자가 API 그룹에서 리소스를 나열할 수 없음

“Error: services is forbidden: User “gitlab:user:" cannot list resource "" in API group "" at the cluster scope"라는 오류가 발생할 수 있습니다.

이 오류는 사용자가 Kubernetes RBAC에서 지정된 작업을 수행할 수 없을 때 발생합니다.

해결하려면 RBAC 구성을 확인하세요. RBAC가 제대로 구성된 경우 Kubernetes 관리자에게 문의하세요.

GitLab 에이전트 드롭다운 목록이 비어 있음

새 환경을 구성할 때 GitLab 에이전트 드롭다운 목록이 비어 있을 수 있습니다. 심지어 Kubernetes 클러스터를 구성한 경우도 마찬가지입니다.

GitLab 에이전트 드롭다운 목록에 항목을 표시하려면 user_access 키워드를 사용하여 에이전트에 Kubernetes 액세스를 부여하세요.