1. 下载ingress-nginx,并解压
2.修改values.yaml文件,主要更改以下位置
registry: registry.cn-hangzhou.aliyuncs.com
image: google_containers/nginx-ingress-controller
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
tag: "v1.9.3"
#digest: sha256:8fd21d59428507671ce0fb47f818b1d859c92d2ad07bb7c947268d433030ba98
#digestChroot: sha256:df4931fd6859fbf1a71e785f02a44b2f9a16f010ae852c442e9bb779cbefdc86
dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true
kind: DaemonSet
nodeSelector:
kubernetes.io/os: linux
ingress: "true"
#type: LoadBalancer
type: NodePort
## nodePorts:
## http: 32080
## https: 32443
## tcp:
## 8080: 32808
nodePorts:
http: "32080"
https: "32443"
tcp: {}
udp: {}
image:
registry: registry.cn-hangzhou.aliyuncs.com
image: google_containers/kube-webhook-certgen
## for backwards compatibility consider setting the full image url via the repository value below
## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
## repository:
tag: v20231011-8b53cabe0
#digest: sha256:a7943503b45d552785aa3b5e457f169a5661fb94d82b8a3373bcd9ebaf9aac80
pullPolicy: IfNotPresent
3.最终安装
helm install ingress-nginx -n ingress-nginx .
4.安装ingress(需要提前创建一个名称为nginx-deployment的service)
nginx-deployment-service.yaml内容如下:
apiVersion: v1
kind: Service
metadata:
name: nginx-deployment
namespace: default
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
sessionAffinity: None
type: ClusterIP
#定义一个ingress-nginx.yaml的文件,内容如下
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-deployment
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx-deployment
port:
number: 80
kubectl apply -f ingress-nginx.yaml
注意
1.安装失败,可以使用如下命令删除
helm -n ingress-nginx delete ingress-nginx