
master node가 한개 뿐이라면 그 node가 다운됐을 때 서비스를 제공하지 못한다.
따라서 가용성을 증가시키기 위해선 master node가 여러 개가 필요하다.
각 master node간의 etcd는 항상 동기화된다.
worker 노드들은 master node들과 직접 통신하는 것이 아니라 load balancer를 통해 통신한다.


master 3개 load balancer 1개 worker 2개 총 컴퓨터 갯수가 7개다.
Load Balancer

docker run --name proxy -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro --restart=always -p 6443:6443 -d nginx
--restart=always == docker daemon과 함께 항상 같이 실행된다.
volume mount를 통해 lb 로 동작한다.
-p == port forwarding

curl 10.100.0.254:6443 명령어로 잘 동작하는 지 확인한다.
master 들이 켜져있지 않으므로 정상이다.
HA cluster 구현 == master node 동기화
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/
Creating Highly Available Clusters with kubeadm
This page explains two different approaches to setting up a highly available Kubernetes cluster using kubeadm: With stacked control plane nodes. This approach requires less infrastructure. The etcd members and control plane nodes are co-located. With an ex
kubernetes.io

master 1을 kubeadmin init으로 초기화 하고 LB에 등록 , master 2,3,은 master 1을 리더로 삼는다.
kubeadm init --control-plane-endpoint "lb.example.com:6443" --upload-certs
다 초기화가 완료되면 join할때 쓰는 token 을 준다. 이걸 이용해 master 2,3 을 master1 에 join한다.
연결이 끝났으니 CNI 를 master 1에설치한다.
control plane 에서 get pod 를 통해 연결이 되었는지 확인한다.

이 명령어를 통해 worker node에서도 kubectl get pod 를 쓰게 해주고 확인할 수 있다.
worker node 2개도 lb.example에 연결한다.

'따배쿠' 카테고리의 다른 글
| [따배쿠] 7-2. 쿠버네티스 Service 4가지 종류 실습해보기 (0) | 2022.11.06 |
|---|---|
| [따배쿠] 7-1. 쿠버네티스 Service 개념과 종류! (0) | 2022.11.06 |
| [따배쿠] 6-7. 쿠버네티스 CronJob (0) | 2022.11.05 |
| [따배쿠] 6-6. 쿠버네티스 Job Controller (1) | 2022.11.05 |
| [따배쿠] 6-5. 쿠버네티스 StatefulSet (0) | 2022.11.05 |