Skip to content

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-6443config-22623のパートに、bootstrapの記載がある。
  • OpenShiftインストールでbootstrap VM起動中は、これらの行は必須
  • OpenShiftインストールが完了し、bootstrap VMを停止&削除したあとは、これらの行を削除する
  • http-80https-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

4. 起動