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