여러 클러스터를 프로젝트에 클러스터 인증서와 함께 사용하기 (deprecated)

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed
caution
단일 프로젝트에 대해 여러 Kubernetes 클러스터를 클러스터 인증서와 함께 사용하는 것은 deprecated되었습니다.
클러스터를 GitLab에 연결하려면 GitLab agent를 사용하세요.

프로젝트에 여러 개의 Kubernetes 클러스터를 연결할 수 있습니다.
그렇게 하면 개발, 스테이징, 프로덕션 등 서로 다른 환경에 대해 서로 다른 클러스터를 가질 수 있습니다.
첫 번째 클러스터를 추가했듯이 또 다른 클러스터를 추가하고, 새로운 클러스터를 나머지와 구분하기 위해 환경 스코프 설정을 반드시 설정하세요.

환경 스코프 설정

프로젝트에 하나 이상의 Kubernetes 클러스터를 추가할 때, 환경 스코프를 통해 클러스터를 구분해야 합니다.
환경 스코프는 환경과 클러스터를 연결하며, 이는 환경별 CI/CD 변수가 작동하는 방식과 유사합니다.

기본 환경 스코프는 *로, 이는 모든 작업이 해당 클러스터를 사용함을 의미합니다.
각 스코프는 프로젝트 내에서 단일 클러스터에만 사용될 수 있으며, 그렇지 않은 경우 검증 오류가 발생합니다.
또한, 환경 키워드가 설정되지 않은 작업은 아무 클러스터도 접근할 수 없습니다.

예를 들어, 다음 Kubernetes 클러스터가 프로젝트에 존재한다고 가정해 보겠습니다:

Cluster Environment scope
Development *
Production production

그리고 .gitlab-ci.yml 파일에 다음과 같은 환경이 설정되어 있습니다:

stages:
  - test
  - deploy

test:
  stage: test
  script: sh test

deploy to staging:
  stage: deploy
  script: make deploy
  environment:
    name: staging
    url: https://staging.example.com/

deploy to production:
  stage: deploy
  script: make deploy
  environment:
    name: production
    url: https://example.com/

결과:

  • Development 클러스터의 세부 정보는 deploy to staging 작업에서 사용할 수 있습니다.
  • Production 클러스터의 세부 정보는 deploy to production 작업에서 사용할 수 있습니다.
  • test 작업에서는 환경이 정의되지 않았기 때문에 클러스터 세부 정보에 접근할 수 없습니다.