准备 OKE 资源
对于功能齐全的 GitLab 实例,在将 gitlab
chart 部署到 [Oracle Container Engine for Kubernetes (OKE)](https://docs.oracle.com/en-us/iaas/Content/ ContEng/Concepts/contengoverview.htm)。在创建 OKE 集群之前,检查如何准备 您的 Oracle 云基础设施租赁。
创建 OKE 集群
要手动配置 Kubernetes 集群,请按照 OKE 说明。检查 OKE 支持的工作节点可用的计算 shapes 列表。
建议使用 4 个 OCPU 和 30GB RAM 的集群。
外部访问
默认情况下,GitLab Chart 将部署一个 Ingress Controller,该控制器创建一个具有 100Mbps shape 的 Oracle 云基础设施公共负载均衡器。 Load Balancer 服务分配一个浮动公共 IP 地址,该地址不是来自主机子网。
要在 chart 安装期间更改 shape 和其它配置(端口、SSL、安全列表等),您可以使用以下命令行参数 nginx-ingress.controller.service.annotations
。例如,要指定一个
具有 400Mbps shape 的负载均衡器:
--set nginx-ingress.controller.service.annotations."service\.beta\.kubernetes\.io/oci-load-balancer-shape"="400Mbps"
部署后,您可以检查与 Ingress Controller 服务关联的 annotation:
$ 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 负载均衡器文档 了解更多信息。
下一步
启动并运行集群后,继续安装 chart。 通过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>
中使用的版本名称。