GitLab 차트를 위한 GKE 리소스 준비

Tier: Free, Premium, Ultimate Offering: Self-Managed

완전히 기능하는 GitLab 인스턴스를 배포하기 전에 GitLab 차트를 배포하고 테스트하기 위해 몇 가지 리소스가 필요합니다.

GKE 클러스터 생성

더 쉽게 시작하려면 클러스터 생성을 자동화하는 스크립트가 제공됩니다. 또는 매뉴얼으로 클러스터를 생성할 수도 있습니다.

사전 요구 사항:

스크립트로 클러스터 생성

GCP/GKE 사용자를 위한 설정 프로세스의 많은 부분을 자동화하기 위해 부트스트랩 스크립트가 생성되었습니다.

이 스크립트는 다음 작업을 수행합니다.

  1. 새로운 GKE 클러스터 생성
  2. 클러스터가 DNS 레코드를 수정할 수 있도록 함
  3. kubectl을 설정하고 클러스터에 연결함

스크립트는 환경 변수와 up (부트스트랩) 또는 down (정리)에 대한 인수로부터 여러 매개변수를 읽습니다.

다음 표는 모든 변수를 설명합니다.

변수명 설명 기본값
REGION 클러스터가 있는 지역 us-central1
ZONE_EXTENSION 클러스터 인스턴스가 있는 존 이름의 확장 (a, b, c) b
CLUSTER_NAME 클러스터 이름 gitlab-cluster
CLUSTER_VERSION GKE 클러스터 버전 GKE 기본값, GKE 릴리스 노트 확인
MACHINE_TYPE 클러스터 인스턴스 유형 n2d-standard-4
NUM_NODES 필요한 노드 수 2
AUTOSCALE_MIN_NODES 오토스케일러가 축소될 수 있는 최소 노드 수 0
AUTOSCALE_MAX_NODES 오토스케일러가 확장될 수 있는 최대 노드 수 NUM_NODES
PROJECT GCP 프로젝트 ID 기본값 없음, 설정 필요
ADMIN_USER 설정 중에 클러스터 관리자 액세스를 할당할 사용자 현재 gcloud 사용자
RBAC_ENABLED 클러스터에 RBAC가 활성화되어 있는지 여부를 알고 있다면 이 변수를 설정 true
PREEMPTIBLE 저렴하며, 클러스터는 최대 24시간동안 유지됩니다. 노드/디스크에 대한 SLA 없음 false
USE_STATIC_IP 관리되는 DNS와 함께 GitLab을 위한 정적 IP를 생성 false
INT_NETWORK 이 클러스터 내에서 사용할 IP 공간 기본값
SUBNETWORK 이 클러스터 내에서 사용할 서브네트워크 기본값

PROJECT를 제외한 기본 매개변수로 스크립트를 실행합니다.

PROJECT=<gcloud 프로젝트 id> ./scripts/gke_bootstrap_script.sh up

스크립트를 사용하여 생성된 GKE 리소스를 정리하는 데도 사용할 수 있습니다.

PROJECT=<gcloud 프로젝트 id> ./scripts/gke_bootstrap_script.sh down

클러스터가 생성되면 다음 단계로 이동하여 DNS 항목을 생성하십시오.

매뉴얼 클러스터 생성

GCP에서 두 개의 리소스, Kubernetes 클러스터 및 외부 IP를 생성해야 합니다.

Kubernetes 클러스터 생성

매뉴얼으로 Kubernetes 클러스터를 프로비저닝하려면 GKE 지침을 따르세요.

  • 각각 4vCPU와 15GB의 RAM이 있는 적어도 2개의 노드로 된 클러스터를 권장합니다.
  • 클러스터의 지역을 기록해두어야 다음 단계에서 필요합니다.

외부 IP 생성

클러스터가 접근 가능하도록 외부 IP가 필요합니다. 외부 IP는 지역적이어야 하며 클러스터 자체와 동일한 지역에 있어야 합니다. 전역 IP 또는 클러스터의 지역 외의 IP는 작동하지 않습니다.

정적 IP를 생성하려면 다음을 실행하세요:

gcloud compute addresses create ${CLUSTER_NAME}-external-ip --region $REGION --project $PROJECT

새로 생성된 IP의 주소를 확인하려면:

gcloud compute addresses describe ${CLUSTER_NAME}-external-ip --region $REGION --project $PROJECT --format='value(address)'

이 IP를 다음 섹션에서 DNS 이름과 결합하는 데 사용합니다.

DNS 항목

매뉴얼으로 클러스터를 생성하거나 스크립트로 USE_STATIC_IP 옵션을 사용했다면, 방금 생성한 IP를 가리키는 A 레코드 와일드카드 DNS 항목이 있는 공개 도메인이 필요합니다.

Google DNS 빠른 시작 가이드를 따라 DNS 항목을 만듭니다.

다음 단계

클러스터가 준비되고 정적 IP와 DNS 항목이 준비되었다면 차트 설치를 계속하세요.