コンテンツにスキップ

Nginx Ingressコントローラー@Ingressコントローラー

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. Ingressの.metadata.annotationsキー

Ingressの.metadata.annotationsキーとは

特定のALBのリスナールールを決める。

IngressでnginxのIngressClassを指定する必要がある。


nginx.ingress.kubernetes.io/affinityキー

Podへのルーティング時にセッションを維持する (スティッキーセッション) かどうかを設定する。

同じセッション内であれば、特定のクライアントからのリクエストをService配下の特定のPodにルーティングし続けられる。

piVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: foo-nginx-ingress
  annotations:
    nginx.ingress.kubernetes.io/affinity: cookie


nginx.ingress.kubernetes.io/whitelist-source-rangeキー

インバウンド通信で許可するCIDRを設定する。

piVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: foo-nginx-ingress
  annotations:
    nginx.ingress.kubernetes.io/whitelist-source-range: *.*.*.*/*


nginx.ingress.kubernetes.io/denylist-source-rangeキー

インバウンド通信で拒否するCIDRを設定する。

piVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: foo-nginx-ingress
  annotations:
    nginx.ingress.kubernetes.io/denylist-source-range: *.*.*.*/*


02. 一括設定のConfigMap

一括設定のConfigMapとは

全てのIngressに一括してルールを設定する。


proxy-connect-timeout

kind: ConfigMap
apiVersion: v1
metadata:
  name: nginx-ingress
  namespace: ingress
data:
  proxy-connect-timeout: 10s


proxy-read-timeout

kind: ConfigMap
apiVersion: v1
metadata:
  name: nginx-ingress
  namespace: ingress
data:
  proxy-read-timeout: 10s


use-forwarded-headers

通過したリクエストにX-Forwarded-Forヘッダーを追加する。

送信元IPアドレスを保持するために役立つ。

kind: ConfigMap
apiVersion: v1
metadata:
  name: nginx-ingress
  namespace: ingress
data:
  use-forwarded-headers: "true"