환경 설정

차트 개발을 설정하려면 명령줄 도구와 Kubernetes 클러스터가 필요합니다.

필수 개발자 도구

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

이 도구들을 설치하기 위해 asdf를 사용하는 것이 좋습니다.
이를 통해 서로 다른 kubectl 또는 Helm 버전과 같은 버전 간에 쉽게 전환할 수 있습니다.

우리는 이 도구들을 추천 버전과 함께 지정하는 .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
    asdf plugin add gomplate
    
  3. 도구를 설치하거나 업데이트합니다:

    asdf install
    

추가 개발자 도구

차트에서 작업하는 개발자들은 종종 다음 도구들을 사용합니다:

도구 이름 장점 예시 사용 사례 링크
asdf 좋아하는 런타임과 CLI 도구의 버전 간에 쉽게 전환. Helm 3.7과 Helm 3.9 바이너리 간 전환. GitHub
kubectx & kubens Kubernetes 컨텍스트와 네임스페이스를 관리하고 전환. 선택한 클러스터 컨텍스트에 대해 기본 네임스페이스 설정. GitHub
k3s 경량 Kubernetes 설치 (<40MB). 빠르고 안정적인 로컬 차트 테스트. 홈페이지
k9s kubectl 명령어 입력을 크게 줄입니다. 명령줄 인터페이스에서 클러스터 리소스를 신속하게 탐색하고 관리. GitHub
lens 클러스터의 시각적 관리 및 탐색. 독립형 데스크톱 애플리케이션에서 클러스터 리소스를 신속하게 탐색하고 관리. 홈페이지
stern 여러 파드의 로그를 쉽게 추적. 여러 GitLab 파드의 로그를 함께 보기. GitHub
dive 컨테이너 레이어 탐색. 컨테이너 이미지, 레이어 콘텐츠 탐색 및 Docker/OCI 이미지 크기를 줄이는 방법 발견을 위한 도구. GitHub, GitLab Unfiltered
container-diff 컨테이너 레이어 탐색. 컨테이너 이미지를 분석하고 비교하기 위한 도구. GitHub

Kubernetes 클러스터

개발을 위해 클라우드 또는 로컬 Kubernetes 클러스터를 사용할 수 있습니다.
간단한 문제의 경우, 로컬 클러스터만으로 배포를 테스트하기에 충분한 경우가 많습니다.
네트워킹, 스토리지 또는 기타 복잡한 문제를 다룰 때 클라우드 Kubernetes 클러스터를 사용하면
생산 환경을 보다 정확하게 재현할 수 있습니다.

경고:
공식 GitLab 이미지는 x86-64 아키텍처로 빌드됩니다.
로컬 개발의 경우, Apple 실리콘 사용자는 대체 Docker 설정을 사용하여
호환 가능한 아키텍처를 에뮬레이트할 수 있습니다.
AArch64/ARM64를 포함한 여러 아키텍처에 대한 지원은 활발히 개발 중입니다.
자세한 내용은 이슈 2899를 참조하세요.

로컬 클러스터

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

클라우드 클러스터

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

  • GKE - Google Kubernetes Engine, 추천
  • EKS - Amazon Elastic Kubernetes Service

저장소에서 설치하기

Git 저장소에서 차트를 설치하는 방법에 대한 내용은 개발자 배포 문서에서 확인할 수 있습니다.

개발자 라이선스

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

개발자 라이선스를 사용하려면 엔터프라이즈 라이선스에 대한 지침을 따르고 귀하의 인스턴스를 Staging Customers Portal에 연결하십시오.

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