准备 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> 中使用的版本名称。