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라는 플래그로 구분됩니다. 이 기능은 Beta 상태입니다.
  • 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 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가 제거되었습니다.

특정 환경에 대해 대시 보드를 구성하세요. 이미 있는 환경 또는 새로운 환경에 대한 대시 보드를 구성할 수 있습니다.

전제 조건:

  • Kubernetes용 GitLab 에이전트가 구성되어 있고, 환경의 프로젝트나 상위 그룹에서 user_access(../../user/clusters/agent/user_access.md) 키워드를 사용하여 공유되었습니다.
이미 있는 환경
  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 운영 > 환경을 선택합니다.
  3. Kubernetes와 연결할 환경을 선택합니다.
  4. 편집을 선택합니다.
  5. Kubernetes용 GitLab 에이전트를 선택합니다.
  6. Kubernetes 네임스페이스 드롭다운 디렉터리에서 namespace를 선택합니다.
  7. Flux 리소스 드롭다운 디렉터리에서 Flux 리소스를 선택합니다.
  8. 저장을 선택합니다.
환경이 없는 경우
  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 운영 > 환경을 선택합니다.
  3. 새 환경을 선택합니다.
  4. 이름 필드를 작성합니다.
  5. Kubernetes용 GitLab 에이전트를 선택합니다.
  6. Kubernetes 네임스페이스 드롭다운 디렉터리에서 namespace를 선택합니다.
  7. Flux 리소스 드롭다운 디렉터리에서 Flux 리소스를 선택합니다.
  8. 저장을 선택합니다.

대시 보드 보기

  • Kubernetes watch API 통합이 GitLab 16.6에서 k8s_watch_api라는 플래그로 도입되었습니다. 기본적으로 비활성화됩니다.
  • Kubernetes watch API 통합이 GitLab 16.7에서 기본적으로 활성화되었습니다.

연결된 클러스터의 상태를 확인하기 위해 대시 보드를 보세요. 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 리소스를 검색할 수 있어야 하며, 이를 위해서 환경 설정에 대해 namespace가 구성되어 있어야 합니다.

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

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

자세한 대시 보드

  • GitLab 16.4에서 도입되었으며, k8s_dashboard라는 플래그로 비활성화되었습니다.
  • 에 대해 몇 명의 사용자를 위해 GitLab 16.7에서 GitLab.com에 활성화되었습니다.

플래그: 이 기능의 가용성은 피처 플래그에 의해 제어됩니다. 자세한 내용은 이력을 확인하세요. 이 기능은 테스트용으로 제공되지만 프로덕션 환경에서 사용하기에 적합하지 않습니다.

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

  • 파드
  • 서비스
  • 배포
  • 레플리카셋
  • 스테이트풀셋
  • 데몬셋
  • 작업
  • 크론 작업

각 대시 보드에는 상태, 네임스페이스, 연령과 함께 리소스 디렉터리이 표시됩니다. 추가 정보와 레이블, YAML 형식의 상태, 주석, 사양을 포함한 자세한 정보를 보기 위해 리소스를 선택할 수 있습니다.

Kubernetes dashboard UI

이 이슈에 설명된 포커스 전환이 있어 자세한 대시 보드 작업이 일시 중단되었습니다.

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

상세 대시보드 보기

필수 조건:

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

상세 대시보드는 측면 내비게이션에서 링크되어 있지 않습니다. 상세 대시보드를 보려면 다음 단계를 따르세요:

  1. Kubernetes 에이전트 ID를 찾습니다:
    1. 왼쪽 측면 표시줄에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
    2. 운영 > Kubernetes 클러스터를 선택합니다.
    3. 액세스하려는 에이전트의 숫자 ID를 복사합니다.
  2. 다음 URL 중 하나로 이동하여 <agent_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
    레플리카세트 https://myinstance.gitlab.com/-/kubernetes/<agent_id>/replicaSets
    스테이트풀셋 https://myinstance.gitlab.com/-/kubernetes/<agent_id>/statefulSets
    데몬셋 https://myinstance.gitlab.com/-/kubernetes/<agent_id>/daemonSets
    작업 https://myinstance.gitlab.com/-/kubernetes/<agent_id>/jobs
    크론 작업 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 액세스를 부여하십시오.