B1-4 HAProxy インストールと設定
1. HAProxyについて
HAProxyは、TCPおよびHTTPベースのアプリケーション向けのオープンソースのプロキシ、リバースプロキシ、および負荷分散ソリューションです1。以下に詳細を説明します。
リバースプロキシ: HAProxyはリバースプロキシとして機能し、クライアントからのリクエストをバックエンドサーバーに転送します。これにより、負荷分散やセキュリティ機能を実現できます。
負荷分散: HAProxyは複数のバックエンドサーバーにトラフィックを均等に分散することができます。高トラフィックのWebサイトやアプリケーションで特に有用です。
高可用性: HAProxyは冗長性を提供し、サーバーの障害時に別のサーバーにトラフィックを切り替えることができます。
HTTPおよびTCPプロトコルのサポート: HAProxyはHTTPおよびTCPトラフィックの両方を処理できます。
HAProxyは、高速で信頼性のあるロードバランサーとして、世界で最も訪れられているWebサイトの一部を支えています。【出典:COPILOT】
2. インストール
3. 設定
- OpenShiftが提供するAPIのURLにアクセスがあったとき、ラウンドロビンでbootstrap/master/workerに分配する
- /etc/haproxy/haproxy.cfgファイルの末尾に以下を追記する。
api-6443
とconfig-22623
のパートに、bootstrapの記載がある。- OpenShiftインストールでbootstrap VM起動中は、これらの行は必須
- OpenShiftインストールが完了し、bootstrap VMを停止&削除したあとは、これらの行を削除する
http-80
とhttps-443
のパートに、workerの記載がある- worker VMを追加、削除するときは、適宜該当行を追加、削除する
/etc/haproxy/haproxy.cfg
frontend K8s-api
bind *:6443
option tcplog
mode tcp
default_backend api-6443
frontend Machine-config
bind *:22623
option tcplog
mode tcp
default_backend config-22623
frontend Ingress-http
bind *:80
option tcplog
mode tcp
default_backend http-80
frontend Ingress-https
bind *:443
option tcplog
mode tcp
default_backend https-443
backend api-6443
mode tcp
balance roundrobin
option ssl-hello-chk
server bootstrap bootstrap.morifuku.com:6443 check
server master-0 master-0.morifuku.com:6443 check
server master-1 master-1.morifuku.com:6443 check
server master-2 master-2.morifuku.com:6443 check
backend config-22623
mode tcp
balance roundrobin
server bootstrap bootstrap.morifuku.com:22623 check
server master-0 master-0.morifuku.com:22623 check
server master-1 master-1.morifuku.com:22623 check
server master-2 master-2.morifuku.com:22623 check
backend http-80
mode tcp
balance roundrobin
server worker-0 worker-0.morifuku.com:80 check
server worker-1 worker-1.morifuku.com:80 check
server worker-2 worker-2.morifuku.com:80 check
backend https-443
mode tcp
balance roundrobin
option ssl-hello-chk
server worker-0 worker-0.morifuku.com:443 check
server worker-1 worker-1.morifuku.com:443 check
server worker-2 worker-2.morifuku.com:443 check