환경 설정

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

필요한 개발자 도구

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

이러한 도구를 설치하려면 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 여러 파드의 로그를 쉽게 따를 수 있습니다. 여러 GitLab 파드의 로그를 동시에 볼 수 있습니다. GitHub
dive 컨테이너 레이어를 탐색합니다. 컨테이너 이미지, 레이어 내용을 탐색하고 Docker/OCI 이미지의 크기를 줄이는 방법을 발견하는 데 사용됩니다. GitHub, GitLab Unfiltered
container-diff 컨테이너 레이어를 탐색합니다. 컨테이너 이미지를 분석하고 비교하는 데 사용되는 도구입니다. GitHub

쿠버네티스 클러스터

개발에는 클라우드 또는 로컬 쿠버네티스 클러스터를 사용할 수 있습니다. 간단한 문제의 경우 로컬 클러스터만으로 배포를 테스트하는 데 충분합니다. 네트워킹, 리포지터리 또는 다른 복잡한 문제를 다룰 때 클라우드 쿠버네티스 클러스터를 사용하면 프로덕션 환경을 더 정확하게 재현할 수 있습니다.

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

로컬 클러스터

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

클라우드 클러스터

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

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

리포지터리에서 설치

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

개발자 라이선스

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

개발자 라이선스를 사용하려면 엔터프라이즈 라이선스용 지침을 따르고 인스턴스를 스테이징 고객 포털에 연결하세요.

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