J.V.'s Blog

k8s安装Ingress-Nginx Controller

本文介绍了如何使用Helm在Kubernetes中安装Ingress-Nginx Controller步骤。

在 k8s 中,Ingress 是对集群中服务的外部访问进行管理的 API 对象,Ingress 可以提供负载均衡、SSL 等功能。要使用 Ingress 资源,集群中必须先安装 Ingress 控制器。

前提条件

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

参考文档

Ingress 控制器

Ingress

Ingress-Nginx Controller Installation Guide

#k8s #开发