환경 설정
차트 개발을 위해 명령 줄 도구와 쿠버네티스 클러스터가 필요합니다.
필수 개발자 도구
차트 개발에 필요한 최소 도구는 필수 도구 페이지에 문서화되어 있습니다.
이러한 도구를 설치하려면 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 |
쿠버네티스 클러스터
개발에는 클라우드 또는 로컬 쿠버네티스 클러스터를 사용할 수 있습니다. 간단한 문제의 경우 로컬 클러스터만으로 충분히 배포를 테스트할 수 있습니다. 네트워킹, 스토리지 또는 기타 복잡한 문제를 다룰 때는 클라우드 쿠버네티스 클러스터를 사용하여 실제 환경을 더 정확하게 재현할 수 있습니다.
경고: 공식 GitLab 이미지는 x86-64 아키텍처로 빌드됩니다. 로컬 개발의 경우 Apple 실리콘 사용자는 대체 Docker 설정을 사용하여 호환 아키텍처를 에뮬레이트할 수 있습니다. AArch64/ARM64를 포함한 여러 아키텍처를 지원하는 작업이 활발히 진행 중입니다. 더 많은 정보는 이슈 2899를 참조하세요.
로컬 클러스터
다음 로컬 클러스터 옵션을 지원합니다:
- minikube - 가상 머신의 클러스터
- KinD (Kubernetes in Docker) - 도커 컨테이너의 클러스터
클라우드 클러스터
다음 클라우드 클러스터 옵션을 지원합니다:
저장소에서 설치
Git 저장소에서 차트를 설치하는 세부 정보는 개발자 배포 문서에서 찾을 수 있습니다.
개발자 라이선스
차트 개발에 개발자 라이선스를 사용하여 라이선스 환경에서만 기능이 동작하는 기능을 테스트할 수 있습니다.
개발자 라이선스를 사용하려면 Enterprise 라이선스 지침 및 인스턴스를 Staging Customers Portal에 연결하는 지침을 따르세요.
global:
extraEnv:
GITLAB_LICENSE_MODE: test
CUSTOMER_PORTAL_URL: https://customers.staging.gitlab.com