본문 바로가기

DevOps/Kubernetes

(5)
[Kubernetes] HAProxy와 Keepalived를 활용한 Kubernetes API 클러스터 HA 구현 - 2편 0. 들어가며 지난 포스팅에 이어 바로 2편을 작성하지 않고, 먼저 Kubernetes Cluster 구축 방법에 대한 내용으로 포스팅을 진행했습니다. 이유는, 단일 Control Plane(이전에는 Master 노드라고 이야기 해였습니다. 'Master'가 주종관계를 나타내는 단어라 앞으로는 Control Plane으로 사용하기로 하겠습니다. 여기서 또 PC가...)으로 Kunbernetes 환경을 구성하는 방법을 알아야 그 다음에 2대 이상으로 이루어진 멀티 Control Plane 구성이 가능하기 때문입니다. 그리고... 사실 제가 바쁘기도 했고 또, Home Lab 환경에 큰 변화가 있었던 것도 그 이유 중에 하나입니다. (그래서, IP 주소도 변화가 있었습니다.) 최대한 내용이 이어질 수 있도록..
[Ubuntu 22.04] Kubernetes Cluster 구축 - 3편 0. 들어가며 지난 포스팅을 통해 Kubernetes 클러스터를 구축해 보았다. 그러나 CNI(Container Network Interface)가 설치되지 않아 각 노드의 상태가 NotReady인 것을 확인하였다. [Ubuntu 22.04] Kubernetes Cluster 구축 - 2편 0. 들어가며 [Ubuntu 22.04] Kubernetes Cluster 구축 - 1편에서 이어지는 내용으로 전편을 참고한 후 해당 포스팅을 보는 것을 추천드린다. [Ubuntu 22.04] Kubernetes Cluster 구축 - 1편 0. 들어가며 Kubernetes 강의를 tech-recipe.tistory.com 이번 포스팅에서는 Kubernetes 클러스터에 필수 Plug-in인 CNI에 대해 살펴보고 어..
[Ubuntu 22.04] Kubernetes Cluster 구축 - 2편 0. 들어가며 [Ubuntu 22.04] Kubernetes Cluster 구축 - 1편에서 이어지는 내용으로 전편을 참고한 후 해당 포스팅을 보는 것을 추천드린다. [Ubuntu 22.04] Kubernetes Cluster 구축 - 1편 0. 들어가며 Kubernetes 강의를 들어보면 대부분 Vagrant나 Minikube와 같은 것으로 클러스터를 구축한다. 이 부분이 항상 아쉬운 부분이다. 물론 수강생들의 수강 환경이 천차만별이기 때문에 이를 통 tech-recipe.tistory.com Ubuntu 설치가 성공적으로 완료되었다면 ssh 툴을 이용하여 k8s-cp에 접속한 후 다음 작업을 실행하도록 한다. 본 포스팅에서는 Termius라는 ssh 툴을 사용하였으며, 다른 익숙한 툴이 있다면 어떤 ..
[Ubuntu 22.04] Kubernetes Cluster 구축 - 1편 0. 들어가며 Kubernetes 강의를 들어보면 대부분 Vagrant나 Minikube와 같은 것으로 클러스터를 구축한다. 이 부분이 항상 아쉬운 부분이다. 물론 수강생들의 수강 환경이 천차만별이기 때문에 이를 통일해야 강의 진행에 무리가 없다는 점에서 이해가 되는 부분이 있지만, 그럼에도 불구하고 Kubernetes 클러스터를 한 땀 한 땀 구축해 나가는 건 매우 중요한 경험이라 생각한다. 혹시라도, VM이나 Baremetal 환경에서 손수 Kubernetes 클러스터를 구축하고자 하는 분께 도움을 드릴 수 있다면 좋겠다는 생각과, 또 개인적으로 진행하고 있는 토이 프로젝트에 대한 작업 기록을 위해 해당 포스팅을 작성해 본다. 1. 인프라 구성 본 포스팅에서는 VMware사의 서버용 가상화 솔루션인 ..
[Kubernetes] HAProxy와 Keepalived를 활용한 Kubernetes API 클러스터 HA 구현 - 1편 0. 들어가며 Kubernetes 클러스터는 크게 Master 노드(Control Plane 역할)와 Worker 노드(워크로드 구동 역할)로 나뉩니다. 프로덕션 환경에서는 고가용성(HA) 및 로드 밸런싱을 위해 Master 노드를 여러대로 하여 클러스터 형식으로 구현하기도 합니다. 그런데 여기서 문제가 생깁니다. 1) 어떻게 단일 API End-Point를 제공할 것인가? 생각해 보면 Control Plane을 구성하는 노드가 1대만 존재한다면 크게 문제될 것이 없는 부분이지만, 여러 대가 존재 한다면 그때는 어떤 Master 노드가 제공하는 API 서버의 주소를 사용해야 할지 정하는 것이 좀 애매해집니다. 1대의 Master 노드가 대표로 API 서버 주소를 노출한다면 해당 노드에만 많은 부하가 걸려..