다중 Kubernetes 클러스터용 Auto DevOps
Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-managed, GitLab Dedicated
Auto DevOps를 사용할 때, 서로 다른 Kubernetes 클러스터에 다른 환경을 배포할 수 있습니다.
Auto DevOps에서 사용하는 배포 작업 템플릿은 세 가지 환경 이름을 정의합니다:
-
review/
(review/로 시작하는 모든 환경) staging
production
이러한 환경들은 Auto Deploy를 사용하여 작업에 바인딩되어 있으므로, 각각 다른 배포 도메인을 가져야 합니다. 이 세 환경마다 별도의 KUBE_CONTEXT
와 KUBE_INGRESS_BASE_DOMAIN
변수를 정의해야 합니다.
서로 다른 클러스터에 배포
여러분의 환경을 서로 다른 Kubernetes 클러스터에 배포하기 위해:
- Kubernetes 클러스터를 생성하세요.
- 클러스터를 프로젝트에 연결하세요:
- 각 클러스터에 GitLab 에이전트를 설치하세요.
- 각 에이전트를 프로젝트에 액세스하도록 구성하세요.
- 각 클러스터에 NGINX Ingress Controller를 설치하세요. 다음 단계를 위해 IP 주소와 Kubernetes 네임스페이스를 저장하세요.
-
Auto DevOps CI/CD 파이프라인 변수를 구성하세요
- 각 환경에 대한
KUBE_CONTEXT
변수를 설정하세요. 값은 관련 클러스터의 에이전트를 가리켜야 합니다. -
KUBE_INGRESS_BASE_DOMAIN
을 설정하세요. 각 환경에 대해 기본 도메인을 구성하여 해당 클러스터의 인그레스를 가리켜야 합니다. - 원하는 배포 대상의 Kubernetes 네임스페이스 값을 갖는
KUBE_NAMESPACE
변수를 추가하세요. 여러 환경에 대해 변수를 범위 지정할 수 있습니다.
- 각 환경에 대한
사용이 중단된 인증서 기반 클러스터의 경우:
- 프로젝트로 이동하여 왼쪽 사이드바에서 운영 > Kubernetes 클러스터를 선택하세요.
- 각 클러스터의 환경 범위를 설정하세요.
- 각 클러스터에 대해 Ingress IP 주소를 기반으로 도메인을 추가하세요.
활성 Kubernetes 클러스터를 확인하는 동안 클러스터 환경 범위가 적용되지 않음. Auto DevOps를 사용하여 멀티 클러스터 설정을 하려면, 클러스터 환경 범위를
*
로 설정한 후행 클러스터를 생성해야 합니다. 이미 추가한 클러스터 중 하나를 후행 클러스터로 설정할 수 있습니다.구성 예시
클러스터 이름 | 클러스터 환경 범위 |
KUBE_INGRESS_BASE_DOMAIN 값
|
KUBE_CONTEXT 값
| 변수 환경 범위 | 비고 |
---|---|---|---|---|---|
review | review/*
| review.example.com
| path/to/project:review-agent
| review/*
| 모든 리뷰 앱을 실행하는 리뷰 클러스터. |
staging | staging
| staging.example.com
| path/to/project:staging-agent
| staging
| 선택 사항. 스테이징 환경의 배포를 실행하는 스테이징 클러스터. 먼저 활성화해야 합니다. |
production | production
| example.com
| path/to/project:production-agent
| production
| 제품 환경 배포를 실행하는 프로덕션 클러스터. 점진적인 롤아웃을 사용할 수 있습니다. |
구성 테스트
구성을 완료한 후, Merge Request을 생성하여 설정을 테스트하세요. 응용 프로그램이 review/*
환경 범위를 갖는 쿠버네티스 클러스터에 리뷰 앱으로 배포되었는지 확인하세요. 유사하게, 다른 환경도 확인하세요.