reliability 를 증가시키기 위해서 master node가 여러개이다.
etcd 끼리 항상 동기화되어 있다.
worker 노드들은 마스터와 직접 통신하는 것이 아니라 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/
master 1을 kubeamdin 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에 연결을 해준다.
'Cloud > Kubernetes' 카테고리의 다른 글
[따배쿠] 7-3. 쿠버네티스 Headless Service와 Kube Proxy (0) | 2022.02.13 |
---|---|
[따배쿠] 7-1, 2. 쿠버네티스 Service 개념과 종류 + 실습 (0) | 2022.02.11 |
[따배쿠] 6-6, 7. 쿠버네티스 Job Controller ,CronJob (0) | 2022.02.08 |
[따배쿠] 6-4,5. 쿠버네티스 DaemonSet! + RollingUpdate, StatefulSet (0) | 2022.02.06 |
[따배쿠] 6-3. 쿠버네티스 RollingUpdate를 위한 Deployment (0) | 2022.02.05 |