Skip to content

Ingress Nginx Controller

This will demonstrate my steps I took to install the Ingress Nginx Controller.

Note

This installation is based on argocd, and this guide demonstrates how to deploy argocd.

Chart

  • apps/nginx-ingress/Chart.yaml
---
# https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx/4.7.1
apiVersion: v2
name: ingress-nginx
description: Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer
type: application
version: 1.0.0
appVersion: 1.8.1
dependencies:
  - name: ingress-nginx
    version: 4.7.1
    repository: https://kubernetes.github.io/ingress-nginx

Values

  • apps/nginx-ingress/values.yaml
ingress-nginx:
  fullnameOverride: nginx-ingress
  controller:
    ingressClass: "nginx"
    electionID: "nginx-leader"
    ingressClassResource:
      enabled: true
      name: "nginx"
      controllerValue: "k8s.io/nginx"
      default: true

    replicaCount: 2
    allowSnippetAnnotations: true

    updateStrategy:
      type: RollingUpdate
      rollingUpdate:
        maxSurge: 1
        maxUnavailable: 1

    resources:
      requests:
        cpu: "250m"
        memory: "384Mi"

    minAvailable: 50%
    service:
      enabled: true
      annotations: {}
      type: LoadBalancer
      loadBalancerIP: "10.8.0.112"

    config:
      real-ip-header: "proxy_protocol"
      use-forwarded-headers: "true"
      proxy-connect-timeout: "15"
      proxy-read-timeout: "60"
      proxy-send-timeout: "60"
      proxy-body-size: "512m"
      keep-alive: "75"
      keep-alive-requests: "1000000"
      upstream-keepalive-requests: "1000000"
      upstream-keepalive-connections: "1024"
      upstream-keepalive-time: "1h"
      upstream-keepalive-timeout: "60"
      large-client-header-buffers: "4 16k"