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"