Kubernetes용 GitLab 에이전트로 마이그레이션

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

Kubernetes 클러스터를 GitLab과 연결하려면 다음을 사용할 수 있습니다:

인증 기반 통합은 GitLab 14.5에서 Deprecated되었습니다. 이에 대한 종료 계획은 다음과 같이 설명되어 있습니다:

인증 기반 통합을 사용 중이라면 가능한 빠른 시일 내에 다른 워크플로우로 전환해야 합니다.

일반적으로, GitLab CI/CD에 의존하는 클러스터를 마이그레이션하려면 CI/CD 워크플로우를 사용할 수 있습니다. 이 워크플로우는 에이전트를 사용하여 클러스터에 연결합니다. 해당 에이전트는:

  • 인터넷에 노출되지 않습니다.
  • GitLab에 대한 완전한 cluster-admin 액세스가 필요하지 않습니다.
note
인증 기반 통합은 인기 있는 GitLab 기능(예: GitLab Managed Apps, GitLab-managed clusters, Auto DevOps)에서 사용되었습니다. 현재 일부 기능은 인증 기반 통합을 사용할 때에만 사용할 수 있습니다.

클러스터 애플리케이션 배포 마이그레이션

GitLab 관리 클러스터에서 마이그레이션

GitLab 관리 클러스터에서 GitLab은 각 브랜치마다 별도의 서비스 계정 및 네임스페이스를 만들고 이러한 리소스를 사용하여 배포합니다.

GitLab 에이전트는 가장 **하 제한을 사용하여 권한이 제한된 계정으로 클러스터에 배포합니다. 다음을 수행합니다:

  1. 필요에 맞는 가장 **하 제한 전략을 선택합니다.
  2. Kubernetes의 가장 **하 RBAC 규칙을 사용하여 가장 **하된 계정 권한을 관리합니다.
  3. 가장 **하 구성 파일의 access_as 속성을 사용하여 가장 **하를 정의합니다.

Auto DevOps에서 마이그레이션

Auto DevOps 프로젝트에서 GitLab 에이전트를 사용하여 Kubernetes 클러스터와 연결할 수 있습니다.

  1. 클러스터에 에이전트를 설치합니다.
  2. GitLab에서 Auto DevOps를 사용하는 프로젝트로 이동합니다.
  3. 세 가지 변수를 추가합니다. 왼쪽 사이드바에서 설정 > 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라는 키를 추가합니다. 동일한 환경 범위를 설정합니다.
  4. 변수 추가를 선택합니다.
  5. 왼쪽 사이드바에서 작업 > Kubernetes 클러스터를 선택합니다.
  6. 인증 기반 클러스터 섹션에서 동일한 환경 범위를 제공하는 클러스터를 엽니다.
  7. 세부 정보 탭을 선택하고 클러스터를 비활성화합니다.
  8. .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"
    
  9. 파이프라인을 테스트하려면 왼쪽 사이드바에서 빌드 > 파이프라인을 선택한 다음 파이프라인 실행을 선택합니다.

예시: 이 프로젝트를 확인하세요.

일반적인 배포에서 마이그레이션

CI/CD 워크플로우의 과정을 따릅니다.

GitLab 관리 애플리케이션에서 마이그레이션

GitLab 관리 앱(GMA)은 GitLab 14.0에서 사용 중지되었으며 GitLab 15.0에서 제거되었습니다. Kubernetes용 GitLab 에이전트는 이를 지원하지 않습니다. 따라서 GMA에서 에이전트로 마이그레이션하려면 다음 단계를 수행하세요:

  1. GitLab 관리 앱을 클러스터 관리 프로젝트로 마이그레이션.
  2. 클러스터 관리 프로젝트를 에이전트를 사용하도록 마이그레이션](../../clusters/management_project_template.md).

클러스터 관리 프로젝트 마이그레이션

GitLab 에이전트와 함께 클러스터 관리 프로젝트를 사용하는 방법은 여기에서 확인하세요.

클러스터 모니터링 기능 마이그레이션

클러스터 모니터링 기능은 현재 Kubernetes용 GitLab 에이전트에서 지원되지 않습니다.