Для OpenShift 3.X и 4.X его следует установить в отдельном месте (VM, Raspberry Pi и т. Д.), А записи A и PTR должны быть установлены для всех узлов кластера, конечной точки публичного API,частная конечная точка api и входной контроллер HAProxy.
Примечание. Если вы развертываете Openshift 4.X, документация на unstained.io будет немного устаревшей, так как консалтинг Red Hat перехватывает их документацию. Механизмы установки и управления для OpenShift 3.X и 4.X кардинально отличаются.
Если вы развертываете OpenShift 4.1, вам также понадобятся записи A и записи SRV для etcd.
Документацию по требованиям к OpenShift 4.1 для DNS в чистом виде можно найти здесь
Пример установки dnsmasq, которую я использовал для одиночного мастера-одиночного кластера OpenShift 4.1 в режиме «голое железо» с cluster_name: ocp4
иbase_domain:example.com
и служебный сервер, служащий в качестве DNS-сервера, DHCP-сервера, балансировщика нагрузки и PXE-сервера, может выглядеть следующим образом:
no-hosts
domain=example.com,10.0.10.0/24,local
auth-zone=example.com,10.0.10.0/24
host-record=ocp4-utility.example.com,10.0.10.10
host-record=ocp4-master.example.com,10.0.10.11
host-record=ocp4-worker,10.0.10.12
host-record=ocp4-bootstrap,10.0.10.13
host-record=api.ocp4.example.com,10.0.10.10
host-record=api-int.ocp4.example.com,10.0.10.10
host-record=etcd-0.ocp4.example.com,10.0.10.11
srv-host=_etcd-server-ssl._tcp.ocp4.example.com,etcd-0.ocp4.example.com,2380,0,10
address=/apps.ocp4.example.com/10.0.10.10
Вот конфигурация HAProxy для «балансировщика нагрузки», работающего в утилитесервер:
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
defaults
mode tcp
log global
option tcplog
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
listen stats
bind :9000
mode http
stats enable
stats hide-version
stats realm Haproxy\ Statistics
stats uri /haproxy_stats
stats auth admin:admin
frontend kubernetes_api
bind 0.0.0.0:6443
default_backend kubernetes_api
backend kubernetes_api
balance roundrobin
option ssl-hello-chk
server bootstrap 10.0.10.13:6443 check
server master 10.0.10.11:6443 check
frontend machine_config
bind 0.0.0.0:22623
default_backend machine_config
backend machine_config
balance roundrobin
option ssl-hello-chk
server bootstrap 10.0.10.13:22623 check
server master 10.0.10.11:22623 check
frontend router_https
bind 0.0.0.0:443
default_backend router_https
backend router_https
balance roundrobin
option ssl-hello-chk
server worker 10.0.10.12:443 check
frontend router_http
mode http
option httplog
bind 0.0.0.0:80
default_backend router_http
backend router_http
mode http
balance roundrobin
server worker 10.0.10.12:80 check