用官方的helm charts在私有化k8s集群中部署,默认的nginx ingress类型是loadbalancer,但一直无法分配到IP,一直报“Service does not have load balancer ingress IP address: default/gitlab-nginx-ingress-controller”,最终超时失败。请问如何修改ingress类型?
以下是AI自动回复,仅供参考。如对您无帮助,请您继续和论坛其他小伙伴人工交流。
您可以通过修改helm chart的values.yaml文件来更改ingress类型。具体步骤如下:
- 下载GitLab的helm chart
helm repo add gitlab https://charts.gitlab.io/
helm repo update
helm fetch gitlab/gitlab-omnibus --version <version>
- 解压helm chart
tar -zxvf gitlab-omnibus-<version>.tgz
- 编辑values.yaml文件,将ingress类型修改为NodePort或ClusterIP
global:
ingress:
configureCertmanager: false
class: nginx
tls:
secretName: gitlab-tls-secret
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, PUT, DELETE, OPTIONS"
nginx.ingress.kubernetes.io/cors-allow-origin: "*"
nginx.ingress.kubernetes.io/cors-allow-headers: "Authorization, Content-Type, Accept, Origin, User-Agent, DNT, Cache-Control, X-Mx-ReqToken, Keep-Alive, X-Requested-With, If-Modified-Since"
# type: LoadBalancer
type: NodePort
- 使用修改后的helm chart进行部署
helm install gitlab gitlab-omnibus-<version> -f values.yaml
这样就可以将ingress类型修改为NodePort或ClusterIP,从而避免loadbalancer无法分配IP的问题。