본문 바로가기
운영체제 (LNX,WIN)

Kubernetes 구성파일 GitLab CI/CD 통한 자동화 적용(autoDeploy)

by 날으는물고기 2023. 12. 18.

Kubernetes 구성파일 GitLab CI/CD 통한 자동화 적용(autoDeploy)

GitLab CI/CD 워크플로우 - GitLab CI Workshop

GitLab을 사용하여 Kubernetes에 Manifest 파일을 자동으로 배포하는 프로세스를 설정하는 것은 다양한 방법으로 가능합니다. 여러 도구 및 접근 방식이 있지만, 가장 일반적인 방법 중 하나는 GitLab CI/CD를 사용하는 것입니다.

 

아래는 간단한 가이드라인입니다.

  1. GitLab Repository에 Manifest 추가
    • Kubernetes Manifest 파일들을 GitLab 저장소에 추가합니다. 이 Manifest 파일은 배포하려는 애플리케이션의 구성을 정의합니다.
  2. GitLab CI/CD 파일 추가
    • GitLab CI/CD를 사용하여 자동 배포를 설정하려면 .gitlab-ci.yml 파일을 프로젝트 루트에 추가해야 합니다.
    stages:
      - deploy
    
    deploy:
      stage: deploy
      script:
        - kubectl apply -f path/to/your/manifest.yml
      only:
        - master
    위의 예시에서 path/to/your/manifest.yml 부분은 실제 Manifest 파일의 경로로 바꿔야 합니다.
  3. Kubernetes 환경 설정
    • CI/CD 작업이 실행되는 환경에서는 Kubernetes 클러스터와 통신할 수 있어야 합니다. 따라서 CI/CD 파이프라인에 Kubernetes 구성 파일 (kubeconfig)을 제공해야 합니다.
    deploy:
      stage: deploy
      script:
        - echo "$KUBE_CONFIG" > /tmp/kubeconfig
        - export KUBECONFIG=/tmp/kubeconfig
        - kubectl apply -f path/to/your/manifest.yml
      only:
        - master
    이때, $KUBE_CONFIG는 GitLab CI/CD의 "Settings" > "CI / CD" > "Variables" 섹션에서 설정한 Kubernetes 구성 파일의 내용입니다.
  4. Auto DevOps 사용
    • GitLab Auto DevOps를 사용하면 CI/CD 파이프라인을 자동으로 설정할 수 있습니다. 프로젝트 설정에서 "CI / CD" 섹션으로 이동하고 "Auto DevOps"를 활성화하세요. 이 설정은 GitLab의 권장 사항을 기반으로 하여 일반적인 프로젝트에 대한 CI/CD 구성을 자동으로 생성합니다.
  5. GitLab Runner 설정
    • GitLab Runner가 Kubernetes 클러스터에서 실행 중이어야 합니다. GitLab Runner는 CI/CD 작업을 실행하는 데 사용되며 Kubernetes 클러스터에 연결됩니다.

이제 Manifest 파일이 업데이트되면 GitLab CI/CD가 자동으로 실행되고 Kubernetes 클러스터에 새로운 구성을 배포할 것입니다. 위의 예제는 간단하지만, 실제 프로젝트에 따라 더 복잡한 요구조건에 대해서도 설정을 통해 해결할 수 있습니다.

728x90

댓글