GitLab 차트를 위한 OKE 리소스 준비
Tier: Free, Premium, Ultimate
Offering: Self-managed
완전히 기능하는 GitLab 인스턴스를 사용하려면 Oracle Container Engine for Kubernetes (OKE)에 GitLab 차트를 배포하기 전에 몇 가지 리소스가 필요합니다. OKE 클러스터를 생성하기 전에 Oracle Cloud Infrastructure를 세팅하는 방법을 확인하세요. 준비
OKE 클러스터 생성
전제 조건:
- 전제 조건을 설치합니다.
수동으로 Kubernetes 클러스터를 프로비저닝하려면 OKE 지침에 따르세요. OKE에서 지원하는 워커 노드에 대한 사용 가능한 컴퓨팅 모양 목록을 확인하세요.
4 OCPU 및 30GB RAM을 갖춘 클러스터를 권장합니다.
GitLab의 외부 액세스
기본적으로 GitLab 차트는 인그레스 컨트롤러를 배포하며, 이는 Oracle Cloud Infrastructure 공용 로드 밸런서를 100Mbps 모양으로 생성합니다. 로드 밸런서 서비스는 호스트 서브넷에서 오지 않는 부동의 공용 IP 주소를 할당합니다.
차트를 설치하는 동안 모양 및 기타 구성(포트, SSL, 보안 목록 등)을 변경하려면 다음 명령행 인수 nginx-ingress.controller.service.annotations
를 사용할 수 있습니다. 예를 들어, 400Mbps 모양의 로드 밸런서를 지정하려면:
--set nginx-ingress.controller.service.annotations."service\.beta\.kubernetes\.io/oci-load-balancer-shape"="400Mbps"
배포된 후, 인그레스 컨트롤러 서비스와 관련된 주석을 확인할 수 있습니다:
$ kubectl get service gitlab-nginx-ingress-controller -o yaml
apiVersion: v1
kind: Service
metadata:
annotations:
...
service.beta.kubernetes.io/oci-load-balancer-shape: 400Mbps
...
자세한 내용은 OKE 로드 밸런서 문서를 확인하세요.
다음 단계
클러스터가 가동 중이라면, 차트를 설치하세요. global.hosts.domain
옵션을 통해 DNS 도메인 이름을 설정하지만, global.hosts.externalIP
옵션을 통해 고정 IP 설정을 생략하세요.
배포를 완료하면, 로드 밸런서의 IP 주소를 조회하여 DNS 레코드 유형에 연결할 수 있습니다:
kubectl get ingress/<RELEASE>-webservice-default -ojsonpath='{.status.loadBalancer.ingress[0].ip}'
<RELEASE>
은 helm install <RELEASE>
에서 사용된 릴리스 이름으로 대체되어야 합니다.