GitLab 에이전트를 Kubernetes로 이관
세부 정보: Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
GitLab과 Kubernetes 클러스터를 연결하려면 다음을 사용할 수 있습니다.
인증서 기반 통합은 GitLab 14.5에서 사용 중단되었습니다. 사용 중단 계획은 다음과 같이 설명되어 있습니다.
인증서 기반 통합을 사용 중이라면 가능한 빨리 다른 워크플로로 이동해야 합니다.
일반적으로 GitLab CI/CD에 의존하는 클러스터를 이관하기 위해서는 CI/CD 워크플로를 사용할 수 있습니다. 이 워크플로는 에이전트를 사용하여 클러스터에 연결합니다. 해당 에이전트는:
- 인터넷에 노출되지 않습니다.
- GitLab에 대한 완전한
cluster-admin
액세스가 필요하지 않습니다.
참고: 인증서 기반 통합은 GitLab Managed Apps, GitLab 관리 클러스터 및 Auto DevOps와 같은 인기 있는 GitLab 기능에서 사용되었습니다. 일부 기능은 현재 인증서 기반 통합을 사용할 때에만 사용할 수 있습니다.
클러스터 애플리케이션 배포 이관
GitLab 관리 클러스터에서 이관
GitLab 관리 클러스터에서 GitLab은 각 브랜치에 대해 별도의 서비스 계정 및 네임스페이스를 생성하고 이러한 리소스를 사용하여 배포합니다.
GitLab 에이전트는 사용 권한 상실 전략을 사용하여 제한된 계정 액세스로 클러스터에 배포합니다. 이를 위해:
- 필요에 맞는 사용 권한 상실 전략을 선택합니다.
- Kubernetes의 사용 권한 상실 계정 권한을 관리하기 위해 Kubernetes RBAC 규칙을 사용합니다.
- 에이전트 구성 파일에서
access_as
속성을 사용하여 사용 권한 상실을 정의합니다.
Auto DevOps에서 이관
Auto DevOps 프로젝트에서 GitLab 에이전트를 Kubernetes 클러스터와 연결할 수 있습니다.
- 클러스터에 에이전트를 설치합니다.
- GitLab에서 Auto DevOps를 사용하는 프로젝트로 이동합니다.
- 세 가지 변수를 추가합니다. 왼쪽 사이드바에서 설정 > CI/CD를 선택하고 변수를 확장합니다.
- 애플리케이션 배포 도메인을 값으로 하는
KUBE_INGRESS_BASE_DOMAIN
이라는 키를 추가합니다. -
path/to/agent/project:agent-name
과 같은 값을 갖는KUBE_CONTEXT
라는 키를 추가합니다. 원하는 환경 범주를 선택합니다. 에이전트의 컨텍스트가 무엇인지 확실하지 않으면.gitlab-ci.yml
파일을 편집하고 사용 가능한 컨텍스트를 보기 위해 작업을 추가합니다:deploy: image: name: bitnami/kubectl:latest entrypoint: [""] script: - kubectl config get-contexts
- 배포 대상이 될 Kubernetes 네임스페이스의 값으로
KUBE_NAMESPACE
라는 키를 추가합니다. 같은 환경 범주를 설정합니다.
- 애플리케이션 배포 도메인을 값으로 하는
- 변수 추가를 선택합니다.
- 왼쪽 사이드바에서 작업 > Kubernetes 클러스터를 선택합니다.
- 인증서 기반 클러스터 섹션에서, 동일한 환경 범주를 제공하는 클러스터를 엽니다.
- 세부 정보 탭을 선택하고 클러스터를 비활성화합니다.
-
.gitlab-ci.yml
파일을 편집하고 Auto DevOps 템플릿을 사용하는지 확인합니다. 예시:include: template: Auto-DevOps.gitlab-ci.yml variables: KUBE_INGRESS_BASE_DOMAIN: 74.220.23.215.nip.io KUBE_CONTEXT: "gitlab-examples/ops/gitops-demo/k8s-agents:demo-agent" KUBE_NAMESPACE: "demo-agent"
- 파이프라인을 테스트하려면 왼쪽 사이드바에서 빌드 > 파이프라인을 선택한 다음 파이프라인 실행을 선택합니다.
예시는 다음 프로젝트에서 확인할 수 있습니다.
일반적인 배포에서 이관
CI/CD 워크플로의 프로세스를 따릅니다.
GitLab 관리 애플리케이션에서 이관
GitLab 관리 애플리케이션(GMA)은 GitLab 14.0에서 사용 중단되었으며, GitLab 15.0에서 제거되었습니다. Kubernetes를 위한 에이전트는 GMA를 지원하지 않습니다. GMA에서 에이전트로 이관하려면 다음 단계를 수행하세요:
클러스터 관리 프로젝트 이전
GitLab 에이전트를 사용하여 클러스터 관리 프로젝트를 어떻게 사용하는지 참조하세요.
클러스터 모니터링 기능 이전
클러스터 모니터링 기능은 아직 Kubernetes용 GitLab 에이전트에서 지원되지 않습니다.