Helm安装ingress-nginx


  • 国内网络原因,很多时候不能一次性安装成功,所以我们先选择把官方chart包下载下来再进行安装, 自定义安装中的镜像都是我从k8s.gcr.io拉下来重新tag后推到阿里云仓库的

获取chart包

helm fetch ingress-nginx/ingress-nginx --version 4.0.19
#或者curl -LO https://github.com/kubernetes/ingress-nginx/releases/download/helm-chart-4.0.19/ingress-nginx-4.0.19.tgz
#或者curl -LO https://storage.corpintra.plus/ingress-nginx/helm-chart/ingress-nginx-4.0.19.tgz

自定义安装

helm upgrade ingress-nginx --namespace ingress-nginx --create-namespace --debug --wait --install --atomic \
   --set controller.kind="Deployment" \
   --set controller.replicaCount="3" \
   --set controller.minAvailable="1" \
   --set controller.image.registry="registry.cn-hangzhou.aliyuncs.com" \
   --set controller.image.image="kubecr/ingress-nginx-controller" \
   --set controller.image.tag="v1.1.3" \
   --set controller.image.digest="sha256:dffe4f5b082eadb5d4c9680c80319bf45447609b26330faafa6e4fef5c6a1e59" \
   --set controller.ingressClassResource.name="nginx" \
   --set controller.ingressClassResource.enable="true" \
   --set controller.ingressClassResource.default="false" \
   --set controller.service.enabled="true" \
   --set controller.service.type="NodePort" \
   --set controller.service.enableHttps="false" \
   --set controller.service.nodePorts.http="32080" \
   --set controller.service.nodePorts.https="32443" \
   --set controller.admissionWebhooks.patch.image.registry="registry.cn-hangzhou.aliyuncs.com" \
   --set controller.admissionWebhooks.patch.image.image="kubecr/kube-webhook-certgen" \
   --set controller.admissionWebhooks.patch.image.tag="v1.1.1" \
   --set controller.admissionWebhooks.patch.image.digest="sha256:78351fc9d9b5f835e0809921c029208faeb7fbb6dc2d3b0d1db0a6584195cfed" \
   --set defaultBackend.enabled="true" \
   --set defaultBackend.name="defaultbackend" \
   --set defaultBackend.image.registry="registry.cn-hangzhou.aliyuncs.com" \
   --set defaultBackend.image.image="kubecr/defaultbackend-amd64" \
   --set defaultBackend.image.tag="1.5" \
   --set defaultBackend.replicaCount="1" \
   --set defaultBackend.minAvailable="1" \
   --set rbac.create="true" \
   --set serviceAccount.create="true" \
   ./ingress-nginx-4.0.19.tgz

注意如下参数

controller.service.enableHttps  //是否打开https,如果ingress前有Nginx或者七层LB,这里可以设置为false
controller.ingressClassResource.name  //ingressclass的名称,根据自己的需求修改
controller.replicaCount  //pod数量,根据节点数量自行调整