HAproxy 노드 구축

  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

Cluster

  1. init
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 구축 실패!

  1. master node join
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

  1. worker node join
sudo kubeadm join etcd-proxy:6443 --token 3ooj6s.npemn85yn6wpcppb \
        --discovery-token-ca-cert-hash sha256:182097efc809b2bcce41146fcc624fa8b063d625e09f0939bbaa903511b4072a