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

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

경고: 클러스터 관리 프로젝트는 사용 중지되었습니다 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: deploy
  script: kubectl get namespaces
  environment:
    name: production

환경 범위 설정

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

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

예를 들어 다음과 같이 Kubernetes 클러스터가 관리 프로젝트에 연결되어 있는 경우: | 클러스터 | 환경 범위 | | ———– | —————– | | 개발 | * | | 스테이징 | staging | | 프로덕션 | production |

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

단계:
  - deploy

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

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

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