클러스터 관리 프로젝트 (사용 중지됨)
Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-managed, GitLab Dedicated
- GitLab 12.5에서 소개되었습니다.
- GitLab 14.5에서 사용 중지되었습니다.
- GitLab 15.0에서 Self-managed에서 비활성화되었습니다.
클러스터 관리 프로젝트는 GitLab 14.5에서 사용 중지되었습니다.
클러스터 애플리케이션을 관리하려면 GitLab 에이전트를 사용하고 클러스터 관리 프로젝트 템플릿을 사용하세요.
Self-managed GitLab에서는 기본적으로 이 기능을 사용할 수 없습니다. 사용하려면 관리자가
certificate_based_clusters
라는 특성 플래그를 활성화할 수 있습니다.프로젝트는 클러스터의 관리 프로젝트로 지정될 수 있습니다.
관리 프로젝트는 Kubernetes cluster-admin
권한으로 배포 작업을 실행하는 데 사용할 수 있습니다.
이는 다음과 같은 경우에 유용할 수 있습니다.
- 클러스터에 클러스터 전체 애플리케이션을 설치하기 위한 파이프라인을 생성하려면 세부 정보는 관리 프로젝트 템플릿을 참조하세요.
-
cluster-admin
권한이 필요한 모든 작업.
권한
관리 프로젝트만 cluster-admin
권한을 받습니다. 다른 모든 프로젝트는 namespace scoped edit
level privileges을 계속 받습니다.
관리 프로젝트는 다음과 같이 제한됩니다.
- 프로젝트 수준 클러스터의 경우, 관리 프로젝트는 클러스터 프로젝트와 동일한 namespace(또는 하위 항목)에 있어야 합니다.
- 그룹 수준 클러스터의 경우, 관리 프로젝트는 클러스터 그룹과 동일한 그룹(또는 하위 항목)에 있어야 합니다.
- 인스턴스 수준 클러스터의 경우, 이러한 제한이 없습니다.
클러스터 관리 프로젝트 생성 및 구성 방법
클러스터를 관리하기 위해 클러스터 관리 프로젝트를 사용하려면 다음을 수행하세요.
- 클러스터의 관리 프로젝트로 사용할 새 프로젝트를 생성합니다.
- 프로젝트를 클러스터 관리 프로젝트에 연결합니다.
- 클러스터의 파이프라인을 구성합니다.
- 환경 범위 설정합니다.
클러스터 관리 프로젝트와 클러스터 연결
클러스터 관리 프로젝트를 클러스터에 연결하려면 다음을 수행하세요.
- 적절한 구성 페이지로 이동합니다.:
- 프로젝트 수준 클러스터의 경우 프로젝트의 운영 > Kubernetes 클러스터 페이지로 이동합니다.
- 그룹 수준 클러스터의 경우 그룹의 Kubernetes 페이지로 이동합니다.
-
인스턴스 수준 클러스터의 경우:
- 왼쪽 사이드바에서 맨 아래쪽에 있는 관리 영역을 선택합니다.
- Kubernetes를 선택합니다.
- 고급 설정을 확장합니다.
- 클러스터 관리 프로젝트 드롭다운 목록에서 이전 단계에서 만든 클러스터 관리 프로젝트를 선택합니다.
파이프라인 구성
프로젝트를 클러스터의 관리 프로젝트로 지정한 후, 해당 프로젝트에 .gitlab-ci.yml
파일을 추가합니다. 예시:
클러스터 구성:
stage: deploy
script: kubectl get namespaces
environment:
name: production
환경 범위 설정
다중 클러스터를 동일한 관리 프로젝트에 연결할 때 환경 범위는 사용 가능합니다.
각 범위는 관리 프로젝트의 단일 클러스터에서만 사용할 수 있습니다.
예를 들어, 다음과 같이 Kubernetes 클러스터를 관리 프로젝트에 연결하는 경우:
클러스터 | 환경 범위 |
---|---|
개발 | *
|
스테이징 | staging
|
프로덕션 | production
|
.gitlab-ci.yml
파일에 설정된 환경은 개발, 스테이징 및 프로덕션 클러스터로 배포합니다.
단계:
- deploy
개발 클러스터 구성:
stage: deploy
script: kubectl get namespaces
environment:
name: development
스테이징 클러스터 구성:
stage: deploy
script: kubectl get namespaces
environment:
name: staging
프로덕션 클러스터 구성:
stage: deploy
script: kubectl get namespaces
environment:
name: production