以下是安装 ingress-nginx 1.6.4 版本的详细步骤,适用于 Kubernetes 环境:
前提条件
- 已安装 Kubernetes 集群(推荐 v1.22+,与 ingress-nginx 1.6.4 兼容性较好)
- 已配置
kubectl并连接到目标集群 - 具备集群管理员权限(需创建 CRD、RBAC 等资源)
安装步骤
方法 1:使用官方 YAML 直接安装
ingress-nginx 官方提供了固定版本的部署清单,可直接应用:
# 下载 1.6.4 版本的部署清单(适用于大多数集群,基于 Deployment)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.6.4/deploy/static/provider/cloud/deploy.yaml
说明:
- 上述 YAML 适用于云环境(如 AWS、GCP 等),使用
Deployment部署控制器,默认通过Service暴露为LoadBalancer类型。- 若为本地集群(如 Minikube、Kind)或需要
DaemonSet部署,可替换为对应清单:# 本地环境(NodePort 暴露) kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.6.4/deploy/static/provider/baremetal/deploy.yaml
方法 2:使用 Helm 安装(更灵活,推荐生产环境)
Helm 可方便配置自定义参数(如镜像地址、资源限制等):
1 安装 Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
2 添加 Helm 仓库
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
3 安装指定版本(直接安装)
helm install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--create-namespace \
--version 4.5.2
# 注意:Helm chart 版本与控制器版本对应,4.5.2 对应 controller-v1.6.4
# 可选:添加自定义配置,例如指定镜像、NodePort 等
# --set controller.image.tag=v1.6.4 \
# --set service.type=NodePort
版本对应关系:
ingress-nginx controller 版本
v1.6.4对应的 Helm chart 版本为4.5.2(可在 官方仓库 确认)。
4 建议操作
-
镜像的digest值注释。
-
hostNetwork设置为true。
-
NodeSelector添加 ingress.node=true。
-
类型更改为Daemonset。
-
dnsPolicy设置为ClusterFirstWithHostNet。
验证安装
1 检查命名空间下的 Pod 是否运行正常:
kubectl get pods -n ingress-nginx
输出应类似(STATUS 为 Running):
NAME READY STATUS RESTARTS AGE
ingress-nginx-controller-7f99b7548d-xxxx 1/1 Running 0 5m
2 检查 Service 暴露情况(根据部署类型,可能为 LoadBalancer 或 NodePort):
kubectl get svc -n ingress-nginx
卸载方法
若需卸载,根据安装方式选择对应命令:
-
YAML 安装:
kubectl delete -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.6.4/deploy/static/provider/cloud/deploy.yaml -
Helm 安装:
helm uninstall ingress-nginx -n ingress-nginx kubectl delete namespace ingress-nginx # 可选:删除命名空间
注意事项
- 若集群使用私有镜像仓库,需提前同步
k8s.gcr.io/ingress-nginx/controller:v1.6.4和k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v20230312-helm-chart-4.5.2-28-g66a760794镜像。 - 生产环境建议根据业务需求调整资源限制(
resources)、节点亲和性(nodeAffinity)等配置。 - 若需启用 HTTPS,需额外配置
Certificate(结合 cert-manager)或手动挂载证书。
更多细节可参考 ingress-nginx v1.6.4 官方文档。
评论区