Auto DevOps를 위한 여러 쿠버네티스 클러스터
Auto DevOps를 사용하여 여러 쿠버네티스 클러스터에 서로 다른 환경을 배포하는 방법을 설명합니다.
Auto DevOps를 사용하면 서로 다른 환경을 다른 쿠버네티스 클러스터에 배포할 수 있습니다. Auto DevOps가 사용하는 Deploy Job 템플릿 은 세 가지 환경 이름을 정의합니다: review/ ( review/ 로 시작하는 모든 환경) staging production 이 환경들은 Auto Deploy 를 사용하는 job에 연결되므로, 서로 다른 배포 도메인을 가져야 합니다. 세 가지 환경 각각에 대해 별도의 KUBE_CONTEXT 와 KUBE_INGRESS_BASE_DOMAIN 변수를 정의해야 합니다. 다른 클러스터에 배포 # 환경을 서로 다른 쿠버네티스 클러스터에 배포하려면: OpenTofu와 GitLab으로 쿠버네티스 클러스터 생성 . 클러스터를 프로젝트에 연결합니다: 각 클러스터에 GitLab Agent for Kubernetes 설치 . 각 에이전트가 프로젝트에 접근할 수 있도록 구성 . 각 클러스터에 NGINX Ingress Controller 설치 . 다음 단계를 위해 IP 주소와 쿠버네티스 네임스페이스를 저장합니다. Auto DevOps CI/CD 파이프라인 변수 구성 각 환경별 KUBE_CONTEXT 변수를 설정합니다. 값은 해당 클러스터의 에이전트를 가리켜야 합니다. KUBE_INGRESS_BASE_DOMAIN 을 설정합니다. 각 환경이 해당 클러스터의 Ingress를 가리키도록 기본 도메인을 구성 해야 합니다. 배포 타깃으로 지정할 쿠버네티스 네임스페이스 값으로 KUBE_NAMESPACE 변수를 추가합니다. 이 변수는 여러 환경에 범위를 지정할 수 있습니다. 더 이상 사용되지 않는 인증서 기반 클러스터 의 경우: 프로젝트로 이동하여 왼쪽 사이드바에서 Operate > Kubernetes clusters 를 선택합니다. 각 클러스터의 환경 범위를 설정 합니다. 각 클러스터에 대해 Ingress IP 주소를 기반으로 도메인을 추가 합니다. 활성 쿠버네티스 클러스터 확인 시 클러스터 환경 범위가 적용되지 않습니다 . 멀티 클러스터 설정이 Auto DevOps에서 작동하려면, Cluster environment scope 를 * 로 설정한 폴백 클러스터를 만들어야 합니다. 이미 추가한 클러스터 중 하나를 폴백 클러스터로 설정할 수 있습니다. 예시 구성 # 클러스터 이름 클러스터 환경 범위 KUBE_INGRESS_BASE_DOMAIN 값 KUBE CONTEXT 값 변수 환경 범위 참고 review review/* review.example.com path/to/project:review-agent review/* 모든 Review App을 실행하는 review 클러스터. staging staging staging.example.com path/to/project:staging-agent staging 선택 사항. staging 환경의 배포를 실행하는 staging 클러스터. 먼저 활성화해야 합니다. production production example.com path/to/project:production-ag