2.0 KiB
2.0 KiB
本文作者:丁辉
Helm 部署 Nginx-Ingress
介绍
Nginx-Ingress 是一个基于 Nginx 的 Ingress 控制器,用于管理外部访问 Kubernetes 集群内部服务的路由规则。它实现了一个配置有规则的反向代理负载均衡器,能够将入站 HTTP 和 HTTPS 请求路由到集群内的相应服务上。
开始部署
-
添加仓库
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update
-
编写模版文件
vi ingress-values.yaml
内容如下
controller: # 开启监控 metrics: enabled: true serviceMonitor: enabled: true # 配置镜像加速 image: registry: k8s.dockerproxy.com # 使用主机网络时,利用 Kubernetes 集群内的 DNS 解析服务 dnsPolicy: ClusterFirstWithHostNet # 使用本地网络 hostNetwork: true # Pod 使用 DaemonSet 方式运行 kind: DaemonSet # 只允许调度到具有 ingress="true" 的节点上,[ kubectl label node xxx ingress="true" ] nodeSelector: kubernetes.io/os: linux ingress: "true" # 禁用后状态字段会报告 Ingress 控制器 Pod 所在节点的 IP 地址或节点列表的 IP 地址 publishService: enabled: false # 启用 Kubernetes Service service: enabled: false # 配置镜像加速 admissionWebhooks: patch: image: registry: k8s.dockerproxy.com # 设置为集群默认 ingress 控制器 ingressClassResource: default: true
-
配置节点标签
kubectl label node ${node} ingress="true"
-
部署
helm install ingress-nginx \ ingress-nginx/ingress-nginx \ -f ingress-values.yaml
卸载
helm uninstall ingress-nginx