高可用性に関する考慮事項(NGINXベースのIngressコントローラー)¶
本記事では、Wallarm Ingress controllerの高可用性確保とダウンタイム防止に役立つ設定の推奨事項を提供します。
Other recommendations
Wallarm’s version of the Kubernetes Ingress controller is based on the community-supported NGINX Ingress controller for Kubernetes, so the majority of recommendations found in the official Ingress controller documentation and on the public Internet are also applicable to Wallarm’s Ingress controller.
Recommended reading:
設定の推奨事項¶
以下の推奨事項はミッションクリティカル(本番)環境を対象としています。
-
IngressコントローラーのPodインスタンスを複数使用します。この挙動は
values.yaml
ファイルの属性controller.replicaCount
で制御します。例:
-
Kubernetesクラスターに対してIngressコントローラーのPodを異なるノードに配置するよう強制します。これはノード障害発生時のIngressサービスの回復性を高めます。この挙動はKubernetesのPodアンチアフィニティ機能で制御でき、
values.yaml
ファイルで設定します。例:
-
予期せぬトラフィックスパイクや、Kubernetesのhorizontal pod autoscaling(HPA)機能の利用が妥当となるその他の状況が想定されるクラスターでは、
values.yaml
ファイルで次のように有効化できます。
設定手順¶
上記の設定を適用するには、helm install
およびhelm upgrade
コマンドの--set
オプションを使用することを推奨します。例:
helm install --set controller.replicaCount=2 <INGRESS_CONTROLLER_RELEASE_NAME> wallarm/wallarm-ingress -n <KUBERNETES_NAMESPACE>
正しくIngressコントローラーをインストールするにはその他のパラメータも必要です。これらも--set
オプションで指定してください。