162 sudo apt install haproxy
163 sudo apt upgrade
164 sudo vi /etc/haproxy/haproxy.cfg
frontend kubernetes-master-lb
bind 0.0.0.0:6443
option tcplog
mode tcp
default_backend kubernetes-master-nodes
backend kubernetes-master-nodes
mode tcp
balance roundrobin
option tcp-check
option tcplog
server k8s-master1 192.168.56.111:6443 check
server k8s-master2 192.168.56.112:6443 check
server k8s-master3 192.168.56.113:6443 check
165 sudo systemctl restart haproxy.service
166 sudo systemctl status haproxy.service
sudo kubeadm init --control-plane-endpoint etcd-proxy:6443 --pod-network-cidr 10.96.0.0/12 --service-cidr=172.100.0.0/12 --apiserver-advertise-address=192.168.56.110 --upload-certs
<aside> 💡 join 시 ip를 advertise를 하지 않으면 enp0s3 이 잡혀 etcd간 통신이 실패함
</aside>
Raft알고리즘에서 master node가 2개일 때 정족수인 1개(자기자신)이 정상적인 etcd를 구축할 때
정상적인 etcd 클러스터가 구축되었다고 인식하여 cluster 구축 가능!
클러스터 구축시 정상적인 etcd의 정족수가 2개이기에 자기자신이외에 1개 더 정상적인 etcd가 확인이 되어야 하는데 통신 자체가 불가능하기에 cluster 구축 실패!
sudo kubeadm join etcd-proxy:6443 --token 3ooj6s.npemn85yn6wpcppb **--apiserver-advertise-address=192.168.56.116 \**
--discovery-token-ca-cert-hash sha256:182097efc809b2bcce41146fcc624fa8b063d625e09f0939bbaa903511b4072a \
--control-plane --certificate-key b3de275c02c0975366a61346e6f58ea1595e257775dc518fdee47d3e26f61ede
sudo kubeadm join etcd-proxy:6443 --token 3ooj6s.npemn85yn6wpcppb \
--discovery-token-ca-cert-hash sha256:182097efc809b2bcce41146fcc624fa8b063d625e09f0939bbaa903511b4072a