환경 설정
차트 개발을 설정하려면 명령줄 도구와 Kubernetes 클러스터가 필요합니다.
필수 개발자 도구
차트 개발에 필요한 최소 도구는 필수 도구 페이지에서 문서화되어 있습니다.
이 도구들을 설치하기 위해 asdf
를 사용하는 것이 좋습니다.
이를 통해 서로 다른 kubectl 또는 Helm 버전과 같은 버전 간에 쉽게 전환할 수 있습니다.
우리는 이 도구들을 추천 버전과 함께 지정하는 .tool-versions
파일을 제공합니다.
설치하거나 업데이트하려면:
-
차트 리포지토리를 복제하고 디렉터리 변경:
git clone https://gitlab.com/gitlab-org/charts/gitlab.git charts-gitlab cd charts-gitlab/
-
각 플러그인 리포지토리를 추가합니다. 이는 한 번만 하면 됩니다:
asdf plugin add minikube asdf plugin add kubectl asdf plugin add helm asdf plugin add stern asdf plugin add vale asdf plugin add gomplate
-
도구를 설치하거나 업데이트합니다:
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를 참조하세요.
로컬 클러스터
다음 로컬 클러스터 옵션이 지원됩니다:
- minikube - 가상 머신에서의 클러스터
- KinD (Kubernetes in Docker) - Docker 컨테이너에서의 클러스터
클라우드 클러스터
다음 클라우드 클러스터 옵션이 지원됩니다:
저장소에서 설치하기
Git 저장소에서 차트를 설치하는 방법에 대한 내용은 개발자 배포 문서에서 확인할 수 있습니다.
개발자 라이선스
개발자 라이선스는 라이선스가 있는 환경에서만 작동하는 기능을 테스트하기 위해 차트 개발에 사용할 수 있습니다.
개발자 라이선스를 사용하려면 엔터프라이즈 라이선스에 대한 지침을 따르고 귀하의 인스턴스를 Staging Customers Portal에 연결하십시오.
global:
extraEnv:
GITLAB_LICENSE_MODE: test
CUSTOMER_PORTAL_URL: https://customers.staging.gitlab.com