클러스터 관리 프로젝트 (사용 중지됨)

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
caution
클러스터 관리 프로젝트는 사용 중지되었습니다 (GitLab 14.5).
클러스터 애플리케이션을 관리하려면, GitLab 에이전트를 사용하세요
클러스터 관리 프로젝트 템플릿와 함께.

Self-managed GitLab에서는 기본적으로 이 기능이 제공되지 않습니다.
사용 가능하도록 하려면, 관리자가 certificate_based_clusters라는 기능 플래그를 활성화할 수 있습니다.

프로젝트는 클러스터의 관리 프로젝트로 지정될 수 있습니다.
관리 프로젝트는 Kubernetes
cluster-admin
권한으로 배포 작업을 실행하는 데 사용할 수 있습니다.

이는 다음에 유용할 수 있습니다:

  • 클러스터 전체 애플리케이션을 클러스터에 설치하는 파이프라인 생성,
    관리 프로젝트 템플릿을 참조하세요.
  • cluster-admin 권한이 필요한 모든 작업.

권한

오직 관리 프로젝트만 cluster-admin 권한을 받습니다.
모든 다른 프로젝트는 네임스페이스 범위의 edit 레벨 권한을 계속 받습니다.

관리 프로젝트는 다음과 같이 제한됩니다:

  • 프로젝트 수준의 클러스터의 경우, 관리 프로젝트는 클러스터 프로젝트와 동일한
    네임스페이스에 있어야 합니다 (또는 하위 항목).
  • 그룹 수준의 클러스터의 경우, 관리 프로젝트는 클러스터 그룹과 동일한
    그룹에 있어야 합니다 (또는 하위 항목).
  • 인스턴스 수준의 클러스터의 경우, 그러한 제한은 없습니다.

클러스터 관리 프로젝트 생성 및 구성 방법

클러스터를 관리하기 위해 클러스터 관리 프로젝트를 사용하려면:

  1. 클러스터의 클러스터 관리 프로젝트로 사용할 새로운 프로젝트를 생성합니다.
  2. 클러스터를 관리 프로젝트와 연결합니다.
  3. 클러스터의 파이프라인을 구성합니다.
  4. 환경 범위를 설정합니다.

클러스터 관리 프로젝트와 클러스터 연결하기

클러스터 관리 프로젝트를 클러스터와 연결하려면:

  1. 적절한 구성 페이지로 이동합니다.
  2. 고급 설정을 확장합니다.
  3. 클러스터 관리 프로젝트 드롭다운 목록에서
    이전 단계에서 생성한 클러스터 관리 프로젝트를 선택합니다.

파이프라인 구성하기

클러스터에 대한 관리 프로젝트로 프로젝트를 지정한 후,
해당 프로젝트에 .gitlab-ci.yml 파일을 추가합니다.
예를 들어:

클러스터 구성:
  단계: 배포
  스크립트: kubectl get namespaces
  환경:
    이름: production

환경 범위 설정하기

환경 범위
동일한 관리 프로젝트에 여러 클러스터를 연결할 때 사용할 수 있습니다.

각 범위는 관리 프로젝트에 대해 단일 클러스터에서만 사용할 수 있습니다.

예를 들어, 다음 Kubernetes 클러스터가 관리 프로젝트에 연결되어 있다고 가정해 보겠습니다:

클러스터 환경 범위
Development *
Staging staging
Production production

.gitlab-ci.yml 파일에 설정된 환경은 Development, Staging, 및 Production 클러스터에 배포됩니다.

단계:
  - 배포

개발 클러스터 구성:
  단계: 배포
  스크립트: kubectl get namespaces
  환경:
    이름: development

스테이징 클러스터 구성:
  단계: 배포
  스크립트: kubectl get namespaces
  환경:
    이름: staging

생산 클러스터 구성:
  단계: 배포
  스크립트: kubectl get namespaces
  환경:
    이름: production