在私有化k8s集群中的部署问题

用官方的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类型。具体步骤如下:

  1. 下载GitLab的helm chart
helm repo add gitlab https://charts.gitlab.io/
helm repo update
helm fetch gitlab/gitlab-omnibus --version <version>
  1. 解压helm chart
tar -zxvf gitlab-omnibus-<version>.tgz
  1. 编辑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
  1. 使用修改后的helm chart进行部署
helm install gitlab gitlab-omnibus-<version> -f values.yaml

这样就可以将ingress类型修改为NodePort或ClusterIP,从而避免loadbalancer无法分配IP的问题。