最近、私は VMWare に openshift 4.2 をインストールしようとしましたが、このドキュメントhttps://blog.openshift.com/openshift-4-2-vsphere-install-with-static-ips/に従ったので、正常にインストールできました。正常に動作しています。ただし、このインストールでは、すべてに単一の LoadBalancer (HAProxy) を使用しています。
私の場合、LoadBalancer の IP は 10.68.33.62 だったので、以下のように URL をマッピングしました
10.68.33.62 api.openshift4.example.com
10.68.33.62 api-int.openshift4.example.com
10.68.33.62 *.apps.openshift4.example.com
つまり、すべての URL が 1 つの LoadBalancer にあるということです。以下のURLからコンソールにアクセスできました
https://console-openshift-console.apps.openshift4.example.com
別のアプリでもhttps://anotherapp.apps.openshift4.example.comからアクセスできました
HA プロキシ構成ファイル
frontend openshift-api-server
bind *:6443
default_backend openshift-api-server
mode tcp
option tcplog
backend openshift-api-server
balance source
mode tcp
server bootstrap 10.68.33.66:6443 check
server master1 10.68.33.63:6443 check
server master2 10.68.33.67:6443 check
server master3 10.68.33.68:6443 check
frontend machine-config-server68
bind *:22623
default_backend machine-config-server
mode tcp
option tcplog
backend machine-config-server
balance source
mode tcp
server bootstrap 10.68.33.66:22623 check
server master1 10.68.33.63:22623 check
server master2 10.68.33.67:22623 check
server master3 10.68.33.68:22623 check
frontend ingress-http
bind *:80
default_backend ingress-http
mode tcp
option tcplog
backend ingress-http
balance source
mode tcp
server worker1 10.68.33.64:80 check
server worker2 10.68.33.65:80 check
frontend ingress-https
bind *:443
default_backend ingress-https
mode tcp
option tcplog
backend ingress-https
balance source
mode tcp
server worker1 10.68.33.64:443 check
server worker2 10.68.33.65:443 check
しかし、ドキュメントhttps://docs.openshift.com/container-platform/4.2/installing/installing_vsphere/installing-vsphere.html#installation-network-user-infra_installing-vsphereを読んだ後、2 つのロード バランサーを使用することにしました。API には 1 つのロード バランサーが必要であり、デフォルトのイングレス コントローラーにはアプリケーションへのイングレスを提供するために 2 つ目のロード バランサーが必要です。
この場合、以下のように URL をマッピングしました
10.68.33.62 api.openshift4.example.com
10.68.33.62 api-int.openshift4.example.com
そして、2 番目のロードバランサーの IP が 10.68.33.69 であると仮定します。
10.68.33.69 *.apps.openshift4.example.com
また、最初のロードバランサーの HAProxy 構成は、マスター ノードのみを分散しています。
frontend openshift-api-server
bind *:6443
default_backend openshift-api-server
mode tcp
option tcplog
backend openshift-api-server
balance source
mode tcp
server bootstrap 10.68.33.66:6443 check
server master1 10.68.33.63:6443 check
server master2 10.68.33.67:6443 check
server master3 10.68.33.68:6443 check
frontend machine-config-server68
bind *:22623
default_backend machine-config-server
mode tcp
option tcplog
backend machine-config-server
balance source
mode tcp
server bootstrap 10.68.33.66:22623 check
server master1 10.68.33.63:22623 check
server master2 10.68.33.67:22623 check
server master3 10.68.33.68:22623 check
また、2 番目のロード バランサーは、アプリケーションのみを提供するため、ワーカー ノードのみを分散します。
frontend ingress-http
bind *:80
default_backend ingress-http
mode tcp
option tcplog
backend ingress-http
balance source
mode tcp
server worker1 10.68.33.64:80 check
server worker2 10.68.33.65:80 check
frontend ingress-https
bind *:443
default_backend ingress-https
mode tcp
option tcplog
backend ingress-https
balance source
mode tcp
server worker1 10.68.33.64:443 check
server worker2 10.68.33.65:443 check
しかし、残念ながらそれは機能していません。私の理解は正しいですか?簡単に言えば、マスター コンソールと API のバランスを最初のロードバランサーで調整し、アプリのバランスを 2 番目のロードバランサーで調整したいと考えています。どうすれば達成できますか?
ありがとう