환경 설정

차트 개발을 위해 명령 줄 도구와 Kubernetes 클러스터를 설정해야 합니다.

필수 개발자 도구

차트 개발에 필요한 최소 도구는 필수 도구 페이지에 문서화되어 있습니다.

이러한 도구를 설치하려면 asdf를 사용해야 합니다. 이를 통해 우리는 쉽게 버전을 전환할 수 있습니다. 예를 들어, Helm 3.7 및 3.9.

우리는 이러한 도구를 권장 버전과 함께 지정하는 .tool-versions 파일을 제공합니다. 이를 설치하거나 업데이트하려면:

  1. 차트 저장소를 복제하고 디렉터리를 변경하세요:

    git clone https://gitlab.com/gitlab-org/charts/gitlab.git charts-gitlab
    cd charts-gitlab/
    
  2. 각 플러그인 저장소를 추가하세요. 이는 한 번만 수행하면 됩니다:

    asdf plugin add minikube
    asdf plugin add kubectl
    asdf plugin add helm
    asdf plugin add stern
    asdf plugin add vale
    
  3. 도구를 설치하거나 업데이트하세요:

    asdf install
    

추가 개발자 도구

차트 작업에 종종 다음 도구들을 사용합니다:

도구 이름 이점 사용 사례 링크
asdf 좋아하는 런타임 및 CLI 도구 버전 간에 쉽게 전환할 수 있습니다. Helm 3.7 및 Helm 3.9 이진 파일 간의 전환. GitHub
kubectxkubens Kubernetes 컨텍스트와 네임스페이스를 관리하고 전환합니다. 선택한 클러스터 컨텍스트 당 기본 네임스페이스 설정. GitHub
k3s 가벼운 Kubernetes 설치 (<40MB). 빠르고 신뢰할 수 있는 로컬 차트 테스트. 홈페이지
k9s kubectl 명령어를 대폭 줄였습니다. 명령줄 인터페이스에서 빠르게 클러스터 리소스를 탐색하고 관리합니다. GitHub
lens 클러스터의 매우 시각적인 관리 및 탐색 기능을 제공합니다. 독립된 데스크톱 애플리케이션에서 빠르게 클러스터 리소스를 탐색하고 관리합니다. 홈페이지
stern 여러 pod에서 로그를 쉽게 따릅니다. 일련의 GitLab pod에서 로그를 확인합니다. GitHub
dive 컨테이너 레이어를 탐색합니다. 컨테이너 이미지, 레이어 내용을 탐색하고 Docker/OCI 이미지 크기를 줄이는 방법을 찾는 도구입니다. GitHub, GitLab Unfiltered
container-diff 컨테이너 레이어를 탐색합니다. 컨테이너 이미지를 분석하고 비교하는 도구입니다. GitHub

Kubernetes 클러스터

개발에는 클라우드 또는 로컬 Kubernetes 클러스터를 사용할 수 있습니다. 단순한 문제의 경우 로컬 클러스터로 배포를 테스트하는 데 충분합니다. 네트워킹, 스토리지 또는 기타 복잡한 문제를 다룰 때는 클라우드 Kubernetes 클러스터를 사용하여 프로덕션 환경을 보다 정확하게 재현할 수 있습니다.

경고: Kubernetes 노드는 x86-64 아키텍처를 사용해야 합니다. AArch64/ARM64를 포함한 여러 아키텍처의 지원이 활발히 개발 중에 있습니다. 자세한 내용은 이슈 2899를 참조하세요.

로컬 클러스터

다음 로컬 클러스터 옵션이 지원됩니다:

클라우드 클러스터

다음 클라우드 클러스터 옵션이 지원됩니다:

  • GKE - Google Kubernetes Engine, 권장됨
  • EKS - Amazon Elastic Kubernetes Service

저장소에서 설치

Git 저장소로부터 차트를 설치하는 세부 정보는 개발자 배포 문서에서 찾을 수 있습니다.

개발자 라이선스

차트 개발에는 개발자 라이선스를 사용할 수 있습니다. 이를 사용하여 라이선스 환경에서만 작동하는 기능을 테스트할 수 있습니다.

개발자 라이선스를 사용하려면 Enterprise 라이선스 지침을 따르고 인스턴스를 Staging Customers Portal에 연결하세요.

global:
  extraEnv:
    GITLAB_LICENSE_MODE: test
    CUSTOMER_PORTAL_URL: https://customers.staging.gitlab.com