侧边栏壁纸
博主头像
路小飞博主等级

行动起来,活在当下

  • 累计撰写 72 篇文章
  • 累计创建 12 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

安装 Ingree-Nginx-Controller

路小飞
2025-11-12 / 0 评论 / 0 点赞 / 4 阅读 / 4410 字

以下是安装 ingress-nginx 1.6.4 版本的详细步骤,适用于 Kubernetes 环境:

前提条件

  1. 已安装 Kubernetes 集群(推荐 v1.22+,与 ingress-nginx 1.6.4 兼容性较好)
  2. 已配置 kubectl 并连接到目标集群
  3. 具备集群管理员权限(需创建 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

输出应类似(STATUSRunning):

NAME                                       READY   STATUS    RESTARTS   AGE
ingress-nginx-controller-7f99b7548d-xxxx   1/1     Running   0          5m

2 检查 Service 暴露情况(根据部署类型,可能为 LoadBalancerNodePort):

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  # 可选:删除命名空间
    

注意事项

  1. 若集群使用私有镜像仓库,需提前同步 k8s.gcr.io/ingress-nginx/controller:v1.6.4k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v20230312-helm-chart-4.5.2-28-g66a760794 镜像。
  2. 生产环境建议根据业务需求调整资源限制(resources)、节点亲和性(nodeAffinity)等配置。
  3. 若需启用 HTTPS,需额外配置 Certificate(结合 cert-manager)或手动挂载证书。

更多细节可参考 ingress-nginx v1.6.4 官方文档

0

评论区