Open kimsehwan96 opened 8 months ago
ref : https://github.com/kubernetes-sigs/kubespray/blob/master/docs/ha-mode.md
kubespray 의 경우 HA 클러스터 지원시 외부 LB 세팅을 하지 않으면
각 워커노드에 HAProxy 혹은 Nginx 를 프록시로 두어. 각 워커노드는 localhost: 로 요청하고 그것을 프록시서버가 실제 컨트롤 플레인에 있는 kube-apiserver 중 하나로 프록싱 하는 형태로 되어있습니다.
컨트롤 플레인의 컴포넌트(kubelet + 기타 컨트롤 플레인 컴포넌트)들은 localhost: 로 호출해 당연히 컨트롤 플레인에 떠있는 kube-apiserver 를 호출합니다.
반면 외부 LB 를 세팅하게 되면
컨트롤 플레인 뿐만 아니라 모든 컴포넌트, 그리고 워커노드까지 external LB 에게 호출하고, external LB 가 kube-apiserver로 로드밸런싱 해주는 구조입니다.
external LB
kube-apiserver
또한 hosts 그룹에 LB 등을 추가해서 LB 새팅도 이 ansible playbook 에서 처리 할 수 있도록 할 예정입니다.
hosts
LB
ref : https://github.com/kubernetes-sigs/kubespray/blob/master/docs/ha-mode.md
kubespray 의 경우 HA 클러스터 지원시 외부 LB 세팅을 하지 않으면
각 워커노드에 HAProxy 혹은 Nginx 를 프록시로 두어. 각 워커노드는 localhost: 로 요청하고 그것을 프록시서버가 실제 컨트롤 플레인에 있는 kube-apiserver 중 하나로 프록싱 하는 형태로 되어있습니다.
컨트롤 플레인의 컴포넌트(kubelet + 기타 컨트롤 플레인 컴포넌트)들은 localhost: 로 호출해 당연히 컨트롤 플레인에 떠있는 kube-apiserver 를 호출합니다.
반면 외부 LB 를 세팅하게 되면
컨트롤 플레인 뿐만 아니라 모든 컴포넌트, 그리고 워커노드까지
external LB
에게 호출하고,external LB
가kube-apiserver
로 로드밸런싱 해주는 구조입니다.또한
hosts
그룹에LB
등을 추가해서 LB 새팅도 이 ansible playbook 에서 처리 할 수 있도록 할 예정입니다.