我得到了这个输出:
root@k8s-eu-1-control-plane-node-1:~# sudo systemctl status haproxy.service
○ haproxy.service - HAProxy Load Balancer
Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Tue 2023-11-28 13:21:35 CET; 47min ago
Docs: man:haproxy(1)
file:/usr/share/doc/haproxy/configuration.txt.gz
Process: 744 ExecStart=/usr/sbin/haproxy -Ws -f $CONFIG -p $PIDFILE $EXTRAOPTS (code=exited, status=0/SUCCESS)
Main PID: 744 (code=exited, status=0/SUCCESS)
CPU: 264ms
Nov 28 13:21:10 k8s-eu-1-control-plane-node-1 haproxy[771]: backend apiserverbackend has no server available!
Nov 28 13:21:10 k8s-eu-1-control-plane-node-1 haproxy[771]: backend apiserverbackend has no server available!
Nov 28 13:21:35 k8s-eu-1-control-plane-node-1 systemd[1]: Stopping HAProxy Load Balancer...
Nov 28 13:21:35 k8s-eu-1-control-plane-node-1 haproxy[744]: [NOTICE] (744) : haproxy version is 2.6.15-1ppa1~jammy
Nov 28 13:21:35 k8s-eu-1-control-plane-node-1 haproxy[744]: [NOTICE] (744) : path to executable is /usr/sbin/haproxy
Nov 28 13:21:35 k8s-eu-1-control-plane-node-1 haproxy[744]: [WARNING] (744) : Exiting Master process...
Nov 28 13:21:35 k8s-eu-1-control-plane-node-1 haproxy[744]: [ALERT] (744) : Current worker (771) exited with code 143 (Terminated)
Nov 28 13:21:35 k8s-eu-1-control-plane-node-1 haproxy[744]: [WARNING] (744) : All workers exited. Exiting... (0)
Nov 28 13:21:35 k8s-eu-1-control-plane-node-1 systemd[1]: haproxy.service: Deactivated successfully.
Nov 28 13:21:35 k8s-eu-1-control-plane-node-1 systemd[1]: Stopped HAProxy Load Balancer.
这是/etc/haproxy/haproxy.cfg
:
# https://github.com/kubernetes/kubeadm/blob/main/docs/ha-considerations.md#haproxy-configuration
# /etc/haproxy/haproxy.cfg
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
log /dev/log local0
log /dev/log local1 notice
daemon
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 1
timeout http-request 10s
timeout queue 20s
timeout connect 5s
timeout client 20s
timeout server 20s
timeout http-keep-alive 10s
timeout check 10s
#---------------------------------------------------------------------
# apiserver frontend which proxys to the control plane nodes
#---------------------------------------------------------------------
frontend apiserver
bind *:6445
mode tcp
option tcplog
default_backend apiserverbackend
#---------------------------------------------------------------------
# round robin balancing for apiserver
#---------------------------------------------------------------------
# https://github.com/kubernetes/kubeadm/blob/main/docs/ha-considerations.md#bootstrap-the-cluster
backend apiserverbackend
option httpchk GET /healthz
#option httpchk GET /livez
http-check expect status 200
mode tcp
option ssl-hello-chk
balance roundrobin
#server k8s-eu-1-control-plane-node-1 aa.aaa.aaa.aa:8443 check
#server k8s-eu-1-control-plane-node-2 bb.bbb.bbb.bbb:8443 check
#server k8s-eu-1-control-plane-node-3 cc.ccc.ccc.ccc:8443 check
# [...]
server xx.xxx.xxx.xx k82-eu-1-load-balancer-dns-1:8443 check
server yy.yyy.yyy.yy k82-eu-1-load-balancer-dns-2:8443 check
这是/etc/netplan/01-netcfg.yaml
:
network:
version: 2
renderer: networkd
ethernets:
ens18:
match:
macaddress: 00:50:56:4a:49:18
addresses:
- aa.aaa.aaa.aa/19
#- 2a02:c206:2123:1861:0000:0000:0000:0001/64
#gateway6: fe80::1
routes:
- to: 0.0.0.0/0
via: gg.ggg.ggg.1
on-link: true
nameservers:
search: [ invalid ]
addresses:
- xx.xxx.xxx.xx
- yy.yyy.yyy.yy
#- 2a02:c206:5028::1:53
#- 2a02:c206:5028::2:53
这是 /etc/hosts :
127.0.0.1 localhost
127.0.1.1 vmi1231861.contaboserver.net vmi1231861
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
aa.aaa.aaa.aa vmi1231861.contaboserver.net vmi1231861
aa.aaa.aaa.aa k8s-eu-1-control-plane-node-1
bb.bbb.bbb.bbb k8s-eu-1-control-plane-node-2
cc.ccc.ccc.ccc k8s-eu-1-control-plane-node-3
dd.ddd.ddd.dd k8s-eu-1-worker-1
ee.eee.eee.ee k8s-eu-1-worker-2
ff.fff.fff.fff k8s-eu-1-worker-3
xx.xxx.xxx.xx k82-eu-1-load-balancer-dns-1
yy.yyy.yyy.yy k82-eu-1-load-balancer-dns-2
我做错了什么?如何使 HAProxy 工作?