클러스터 관리 프로젝트 (사용 중지됨)
- 소개됨: GitLab 12.5에서
- 사용 중지됨: GitLab 14.5에서
- Self-managed에서 사용 중단됨: GitLab 15.0에서
플래그:
Self-managed GitLab에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용하려면 관리자가 certificate_based_clusters
라는 피처 플래그를 활성화해야 합니다.
프로젝트를 클러스터의 관리 프로젝트로 지정할 수 있습니다.
관리 프로젝트는 Kubernetes의
cluster-admin
권한이 있는 배포 작업을 실행하는 데 사용할 수 있습니다.
다음과 같은 경우에 유용할 수 있습니다:
- 클러스터 전반에 걸쳐 애플리케이션을 설치하기 위한 파이프라인, 자세한 내용은 관리 프로젝트 템플릿을 참조하세요.
-
cluster-admin
권한이 필요한 작업.
권한
관리 프로젝트만 cluster-admin
권한을 받습니다. 다른 모든
프로젝트는 계속해서 네임스페이스 범위의 edit
수준 권한을 받습니다.
관리 프로젝트는 다음을 준수해야 합니다:
- 프로젝트 수준 클러스터의 경우, 관리 프로젝트는 클러스터 프로젝트와 동일한 네임스페이스(또는 하위)에 있어야 합니다.
- 그룹 수준 클러스터의 경우, 관리 프로젝트는 클러스터 그룹과 동일한 그룹(또는 하위)에 있어야 합니다.
- 인스턴스 수준 클러스터의 경우, 이러한 제한이 없습니다.
클러스터 관리 프로젝트를 생성하고 구성하는 방법
클러스터 관리 프로젝트를 사용하여 클러스터를 관리하려면:
- 클러스터의 관리 프로젝트로 사용할 새 프로젝트를 생성하세요.
- 클러스터를 관리 프로젝트와 연결하세요. (아래 참조)
- 클러스터의 파이프라인을 구성하세요. (아래 참조)
- 환경 범위를 설정하세요. (아래 참조)
클러스터 관리 프로젝트와 클러스터 연결
클러스터 관리 프로젝트를 클러스터와 연결하려면:
- 적절한 구성 페이지로 이동하세요. 다음을 참조하세요:
- 프로젝트 수준 클러스터: 프로젝트의 운영 > Kubernetes 클러스터 페이지로 이동하세요.
- 그룹 수준 클러스터: 그룹의 Kubernetes 페이지로 이동하세요.
-
인스턴스 수준 클러스터:
- 왼쪽 사이드바에서 맨 아래쪽으로 이동하세요.
- 관리자 영역을 선택하세요.
- Kubernetes을 선택하세요.
- 고급 설정을 확장하세요.
- 클러스터 관리 프로젝트 드롭다운 디렉터리에서 이전 단계에서 생성한 클러스터 관리 프로젝트를 선택하세요.
파이프라인 구성
프로젝트를 클러스터의 관리 프로젝트로 지정한 후에 해당 프로젝트에 .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: 프로덕션