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

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 파일을 추가하세요. 예시:

클러스터 구성:
  stage: 배포
  script: kubectl get namespaces
  environment:
    name: 프로덕션

환경 범위 설정

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

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

예를 들어, 다음과 같이 Kubernetes 클러스터가 관리 프로젝트에 연결된 경우:

클러스터 환경 범위
개발 *
스테이징 staging
프로덕션 production

.gitlab-ci.yml 파일에 설정된 환경은 개발, 스테이징 및 프로덕션 클러스터로 배포됩니다.

단계:
  - 배포

개발 클러스터 구성:
  stage: 배포
  script: kubectl get namespaces
  environment:
    name: 개발

스테이징 클러스터 구성:
  stage: 배포
  script: kubectl get namespaces
  environment:
    name: 스테이징

프로덕션 클러스터 구성:
  stage: 배포
  script: kubectl get namespaces
  environment:
    name: 프로덕션