Openshift 4.2 на VMware Vsphere, конфигурация Loadbalancer и понимание - PullRequest
1 голос
/ 20 января 2020

Недавно я попытался установить openshift 4.2 на VMWare и следовал этой документации https://blog.openshift.com/openshift-4-2-vsphere-install-with-static-ips/, поэтому я смог успешно установить его, и он работает нормально. Но эта установка использует один LoadBalancer (HAProxy) для всего.

Итак, в моем случае IP-адрес LoadBalancer был 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-адреса в одном LoadBalancer. Я смог получить доступ к консоли снизу URL

https://console-openshift-console.apps.openshift4.example.com

Даже другое приложение смогло получить доступ с https://anotherapp.apps.openshift4.example.com

Файл конфигурации HA Proxy

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_install-vsphere Я решил использовать два балансировщика нагрузки. Для API требуется один балансировщик нагрузки, а для Ingress Controller по умолчанию необходим второй балансировщик нагрузки для обеспечения доступа к приложениям.

Теперь в этом случае я сопоставил URL, как показано ниже

10.68.33.62  api.openshift4.example.com
10.68.33.62  api-int.openshift4.example.com

И предполагая, что IP второго loadbalancer равен 10.68.33.69

10.68.33.69  *.apps.openshift4.example.com

И HAProxy config для Первый балансировщик нагрузки балансирует только главные узлы.

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

Но, к сожалению, он не работает , Правильно ли мое понимание? Короче говоря, я хочу сбалансировать мастер-консоль и API через первый loadbalancer, а приложения через второй loadbalancer. Как мне этого добиться?

Спасибо

...