Kubernetes 대시보드

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에서 환경 세부정보 페이지로.

Kubernetes 대시보드를 사용하여 직관적인 시각적 인터페이스로 클러스터의 상태를 이해하세요.

대시보드는 CI/CD 또는 GitOps를 사용하여 배포했든 관계없이 모든 연결된 Kubernetes 클러스터에서 작동합니다.

Kubernetes 요약 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 제거됨.

특정 환경에 사용할 대시보드를 구성하세요.

기존 환경에 대해 대시보드를 구성할 수 있으며, 환경을 생성할 때 추가할 수도 있습니다.

전제 조건:

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

대시보드 보기

대시보드를 보려면 연결된 클러스터의 상태를 확인하세요.

k8s_watch_api 기능 플래그가 활성화되면 Kubernetes 리소스와 Flux 조정 업데이트의 상태를 실시간으로 확인할 수 있습니다.

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

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.

  2. 작업 > 환경을 선택합니다.

  3. Kubernetes 에이전트와 연관된 환경을 선택합니다.

  4. Kubernetes 개요 탭을 선택합니다.

팟 목록이 표시됩니다. 팟을 선택하여 세부정보를 봅니다.

Flux 동기화 상태

  • GitLab 16.3에서 도입되었습니다.
  • Flux 리소스의 이름을 사용자 정의하는 기능은 GitLab 16.3에서 도입되었습니다. 기능 플래그 flux_resource_for_environment가 있습니다.
  • Flux 리소스의 이름을 사용자 정의하는 기능은 GitLab 16.4에서 일반적으로 사용 가능. 기능 플래그 flux_resource_for_environment가 제거되었습니다.

대시보드에서 Flux 배포의 동기화 상태를 검토할 수 있습니다.

배포 상태를 표시하려면 대시보드가 KustomizationHelmRelease 리소스를 검색할 수 있어야 하며,

이를 위해 환경에 대한 네임스페이스가 구성되어야 합니다.

GitLab은 환경 설정의 Flux 리소스 드롭다운 목록에 지정된 KustomizationHelmRelease 리소스를 검색합니다.

대시보드는 다음 중 하나의 상태 배지를 표시합니다:

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

Flux 조정 트리거

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

조정을 트리거하려면:

  1. 대시보드에서 Flux 배포의 동기화 상태 배지를 선택합니다.

  2. 작업 ( ) > 조정 트리거 ( )를 선택합니다.

Flux 조정 일시 중지 또는 재개

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

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

  1. 대시보드에서 Flux 배포의 동기화 상태 배지를 선택합니다.

  2. 작업 ( )을 선택한 다음 다음 중 하나를 선택합니다:

    • 조정 일시 중지 ( )를 선택하여 Flux 조정을 일시 중지합니다.

    • 조정 재개 ( )를 선택하여 Flux 조정을 재시작합니다.

포드 로그 보기

구성된 대시보드에서 환경 전반의 문제를 신속하게 이해하고 문제를 해결하려고 할 때 포드 로그를 확인하세요. 포드의 각 컨테이너에 대한 로그를 볼 수 있습니다.

  • 로그 보기를 선택한 다음 로그를 보려는 컨테이너를 선택합니다.

포드 세부정보에서 포드 로그를 볼 수도 있습니다.

포드 삭제

실패한 포드를 재시작하려면 Kubernetes 대시보드에서 삭제합니다.

포드를 삭제하려면:

  1. Kubernetes 개요 탭에서 삭제하려는 포드를 찾습니다.

  2. 작업 ( ) > 포드 삭제 ( )를 선택합니다.

포드 세부정보에서 포드를 삭제할 수도 있습니다.

상세 대시보드

  • 도입됨 GitLab 16.4에서, k8s_dashboard라는 플래그가 있는 경우. 기본적으로 비활성화되어 있습니다.
  • GitLab.com에서 활성화됨 GitLab 16.7에서 일부 사용자에게.

플래그: 이 기능의 사용 가능성은 기능 플래그에 의해 제어됩니다.

자세한 내용은 기록을 참조하십시오.

이 기능은 테스트를 위한 것이지만 프로덕션 사용을 위해 준비되지 않았습니다.

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

  • 포드
  • 서비스
  • 배포
  • ReplicaSets
  • StatefulSets
  • DaemonSets
  • 작업
  • CronJobs

각 대시보드는 리소스의 상태, 네임스페이스 및 연령과 함께 리소스 목록을 표시합니다.

리소스를 선택하여 더 많은 정보(레이블 및 YAML 형식의 상태, 주석 및 스펙 포함)를 가진 드로어를 엽니다.

Kubernetes 대시보드 UI

이 문제에서 설명한 초점 이동으로 인해 상세 대시보드 작업이 일시 중지되었습니다.

상세 대시보드에 대한 피드백을 제공하려면 문제 460279를 참조하세요.

상세 대시보드 보기

전제 조건:

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

상세 대시보드는 사이드바 내비게이션에서 링크되지 않습니다.

상세 대시보드를 보려면:

  1. Kubernetes ID를 찾습니다:

    1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.

    2. 운영 > Kubernetes 클러스터를 선택합니다.

    3. 접근하려는 에이전트의 숫자 ID를 복사합니다.

  2. 다음 URL 중 하나로 이동하며 <agent_id>를 귀하의 에이전트 ID로 바꿉니다:

    리소스 유형 URL
    포드 https://myinstance.gitlab.com/-/kubernetes/<agent_id>/pods
    서비스 https://myinstance.gitlab.com/-/kubernetes/<agent_id>/services
    배포 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
    작업 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:<user-name>" cannot list resource "<resource-name>" in API group "" at the cluster scope라는 오류가 발생할 수 있습니다.

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

해결하려면 RBAC 구성을 확인하세요. RBAC이 제대로 구성되어 있다면 Kubernetes 관리자에게 문의하세요.

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

새 환경을 구성할 때, GitLab 에이전트 드롭다운 목록이 비어 있을 수 있으며, Kubernetes 클러스터를 구성했더라도 발생할 수 있습니다.

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