在线安装ingress
k8s版本:k8s v1.33.6
一,卸载旧版 ingress
kubectl delete ns ingress-nginx --force --grace-period=0
kubectl get crd | grep ingress | awk '{print $1}' | xargs kubectl delete crd
二,安装ingress
1. 下载官方 yaml + 全局替换国内镜像前缀
# 下载 ingress-nginx-v1.11.3部署清单 curl -o ingress-nginx.yaml https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.3/deploy/static/provider/baremetal/deploy.yaml # 全局替换 registry.k8s.io → m.daocloud.io/registry.k8s.io(所有镜像自动走国内加速) sed -i 's|registry.k8s.io|m.daocloud.io/registry.k8s.io|g' ingress-nginx.yaml
2. 部署并设置默认 IngressClass
# 应用清单 kubectl apply -f ingress-nginx.yaml # 设置nginx为集群默认IngressClass kubectl annotate ingressclass nginx ingressclass.kubernetes.io/is-default-class="true" --overwrite # 等待全部pod就绪 kubectl wait pod -n ingress-nginx --for=condition=ready --all --timeout=300s
3,验证
kubectl get pods -n ingress-nginx kubectl get svc -n ingress-nginx kubectl get ingressclass
4,删除webhook勾子
删除weebhook勾子才能创建ingress规则:
kubectl delete ValidatingWebhookConfiguration ingress-nginx-admission --ignore-not-found
5,更改ingress对外访问的端口为 30080 / 30443
kubectl edit svc ingress-nginx-controller -n ingress-nginx
找到 spec.ports 区域,示例默认配置:
spec:
clusterIP: 10.96.3.243
clusterIPs:
- 10.96.3.243
externalTrafficPolicy: Cluster
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- appProtocol: http
name: http
nodePort: 30080 #修改为你要对外的端口
port: 80 #service内部端口
protocol: TCP
targetPort: http
- appProtocol: https
name: https
nodePort: 30443 #修改为你要对外的端口
port: 443 #service内部端口

浙公网安备 33010602011771号