Nginx Ingress Controller@Ingress Controller¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
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"