k8s安装Ingress-Nginx Controller
本文介绍了如何使用Helm在Kubernetes中安装Ingress-Nginx Controller步骤。
在 k8s 中,Ingress 是对集群中服务的外部访问进行管理的 API 对象,Ingress 可以提供负载均衡、SSL 等功能。要使用 Ingress 资源,集群中必须先安装 Ingress 控制器。
前提条件
- 已安装 Helm
Helm 安装 Ingress-Nginx Controller
添加 ingress-nginx 仓库
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
创建 values.yaml 配置文件
# 创建并编辑values.yaml文件
vim values.yaml
controller:
replicaCount: 1 # 生产环境建议至少3副本
service:
type: NodePort
nodePorts:
http: "30080"
https: "30443"
# 配置nginx获取真实IP
config:
use-forwarded-headers: "true"
# 代理真实IP范围(根据你的网络环境调整)
proxy-real-ip-cidr: "10.0.0.0/8,172.16.0.0/12,192.168.0.0/16" # 这些是集群所在私有网络地址段,告诉nginx这些是代理IP(应该忽略),以获取真实客户端IP
forwarded-for-header: "X-Forwarded-For"
compute-full-forwarded-for: "true"
# 全局设置 设置最大请求体大小(等同于nginx的client_max_body_size)
proxy-body-size: "50m"
安装 chart
helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx --create-namespace -f values.yaml
查询 chart
# 查看已安装的chart
helm list -A