Tech 21

나만의 쿠버네티스 관리 툴 만들기

쿠버네티스 쓰다 보면 클러스터 여러 개 돌릴 일이 생김.배포 클러스터, 테스트 클러스터, 개인 클러스터… 이렇게 많아지면 ~/.kube/config 파일을 매번 바꿔 써야 하는 귀찮음이 있음. 예전엔 cp 해서 덮어쓰거나 이름 바꿔서 관리했는데, 이게 진짜 번거롭고 실수하기 딱 좋음.그래서 그냥 내가 CLI 하나 만들어버림. 이름은 mcc (Multi Cluster Changer). 자세한 설명은 GitHub에 작성해씀. GitHub - onggizam/mcc: Kubernetes Multi Cluster Changer (mcc)Kubernetes Multi Cluster Changer (mcc). Contribute to onggizam/mcc development by creating an accou..

Tech 2025.09.18

etcd 백업/복원 하기

etcd 백업의 중요성, 아니 etcd의 중요성을 전파하겠음.내 클러스터가 망가졌을때 etcd 백업이 있으면 충분히 복원이 가능함.. (etcd HA 구성하다 stack 꼬여서 푸는중...)나같은 경우는 일주일마다 백업 해놔서 벌 받는중임. 하루에 한번씩은 해야할듯 구체적인 etcd의 동작 원리는 나중에 기회가 되면 작성하려고 함. 간단하게 말하면Raft 합의 알고리즘을 이용해 여러 노드가 같은 로그(데이터 상태)를 공유하고, 리더가 쓰기를 조정해 항상 일관된 상태를 유지하는 원리임.한 3년?전 쿠버러버일때 처음 이 개념을 듣고 공부하는데 이해하는데 너무 어려웠음.. 공부하는데 많이 도움된 사이트 Raft thesecretlivesofdata.com여기서 직관적으로 보다보면 이해 될 수도 있음 난 그랬음..

Tech 2025.09.11

HA kubernetes cluster 구성 프로젝트 4

마지막으로 이제 지난번에 만든 외부 로드벨런서를 기존 클러스터에 붙이는 작업을 하겠씀.이전글: HA kubernetes cluster 구성 프로젝트 3이전글: HA kubernetes cluster 구성 프로젝트 2이전글: HA kubernetes cluster 구성 프로젝트 1사내에서 쿠버환경을 구축해서 개발 어플리케이션 배포 & PoC 어플리케이션 배포 용으로 사용중이다. (사내에 서hongveloper.tistory.com 지난 과정 정리두 개 LB 노드(lb01, lb02)에 haproxy + keepalived 설치.keepalived에서 VIP 192.168.3.20 설정 → 마스터/백업 노드 중 하나가 VIP를 보유.haproxy에서 API 서버 두 노드(192.168.3.15, 192.16..

Tech 2025.09.08

HA kubernetes cluster 구성 프로젝트 3

이전글: HA kubernetes cluster 구성 프로젝트 2이전글: HA kubernetes cluster 구성 프로젝트 1사내에서 쿠버환경을 구축해서 개발 어플리케이션 배포 & PoC 어플리케이션 배포 용으로 사용중이다. (사내에 서버있음=온프램)현재까지는 아직 운영하hongveloper.tistory.com 지난번에 이어서 외부 로드벨런서 이중화 하는 작업을 진행 과정을 설명하게씀난 HAProxy + Keepalived 조합으로 외부 로드벨런서 만들꺼임. 왜 이걸 선택했는지에 대한 이유가 필요할꺼 같아서 적어봄.단순하고 검증된 HA 아키텍쳐L4 + L7 로드밸런싱 모두 지원가볍고 비용 효율적다른 선택지도 많은데 난 저걸 선택해서 만들어보려고 함.그전에 VM 두개와 사용할 VIP 준비- IP: ..

Tech 2025.09.03

HA kubernetes cluster 구성 프로젝트 2

이전글: HA kubernetes cluster 구성 프로젝트 1사내에서 쿠버환경을 구축해서 개발 어플리케이션 배포 & PoC 어플리케이션 배포 용으로 사용중이다. (사내에 서버있음=온프램)현재까지는 아직 운영하는데 문제는 없었지만, 추후를 대비하기hongveloper.tistory.com 지난번에 이어서 HA kubernetes cluster 구성을 위한 첫번째 단계 진행을 위해 테스트를 하고 실사용에 적용할 계획임.내가 기존에 가지고 놀던 쿠버 클러스터가 있다. 이걸로 테스트 함.구성은 Control Plane 노드 하나, Worker 노드 두개로 구성되어 있고, kubeflow와 argocd가 배포되어있는 상태임.NAME STATUS ROLES AGE VE..

Tech 2025.09.02

HA kubernetes cluster 구성 프로젝트 1

사내에서 쿠버환경을 구축해서 개발 어플리케이션 배포 & PoC 어플리케이션 배포 용으로 사용중이다. (사내에 서버있음=온프램)현재까지는 아직 운영하는데 문제는 없었지만, 추후를 대비하기 위해 개편을 시도했다.나에게는 아주 좋은 경험이다. 기존 쿠버 클러스터 아키텍쳐는 다음과 같다:참으로 단순하다.3개 노드가 아니라 더 있지만 추후에 리소스가 확보되면 지속적으로 노드를 붙여가며 사용 예정이다. 이 클러스터에 HA 구성을 할꺼다.HA 구성하는 이유?아무래도 사내 서버에 직접 구성해서 사용하다 보니 백업/유지보수에 전문적으로 해야할 인력이 부족하기 때문에 지속적으로 해당 클러스터를 운영 가능하게 하는게 목적이다. HA kubernetes 구성 순서는 다음과 같이 하려고한다.그전에 가장 포인트는 "무중단"이다...

Tech 2025.09.01

네트워크 캐스팅 방식

kubernetes 로드벨런서 구성하는 와중에 네트워크 설계도 해야하는 일이 생김.네트워크 캐스팅 방식에 대해 이해할 필요가 있어서 작성해봄. 3가지 방식만 소개하려고함.Unicast, Broadcast, Multicast 이렇게 3개 존재.유니캐스트 (Unicast)one-to-one(1대1) 통신 방식으로 대부분 네트워크 캐스팅 방식을 Unicast로 사용함.TCP, UDP 모두 지원함. 브로드캐스트 (Broadcast)one-to-all (1대다) 통신 방식으로 동일 네트워크에 존재하는 모든 호스트가 목적지임.Unicast로 통신하기 이전에 주로 상대방 목적지를 알기 위해서 사용됨.UDP 지원함. 멀티캐스트(Multicast)one-to-group (1대그룹) 통신 방식으로 Multicast gro..

Tech 2025.09.01

kubeflow on kubernetes

kubeflow 운영을 위해 kubernetes에 kubeflow를 배포한 경험을 작성해보려고 한다. 사실 kubeflow를 배포하는 방법은 너무 간단하다.하지만 이전에 확인해 봐야 할게 있다. kubeflow 운영에 필요한 worker node의 최소 사항은 CPU 8core, Memory 8GB 라고는 하지만 경험상 매우 부족하다.최소 8Core의 CPU와 32GB Memory가 적절한 것 같다. 또, kustomize 실행기가 미리 설치 되어있어야 한다.​ GitHub - kubernetes-sigs/kustomize: Customization of kubernetes YAML configurationsCustomization of kubernetes YAML configurations. Contr..

Tech 2025.08.29

GitLab에서 GitHub으로 레포지토리 마이그레이션

사내 서버 개편으로 인해 GitLab에서 GitHub으로 레포지토리를 마이그레이션 할 일이 생겼다.흔하게 할 수 있는 경험은 아니라고 생각해서 기록해 두려고 한다.GitLab에서 GitHub으로의 완벽한 마이그레이션은 불가능하다.GitLab은 MR(Merge Request), GitHub은 PR(Pull Request)로 소스코드 병합이 이뤄진다. (사실상 같은거임)각 소스코드 저장소 마다 병합 명칭이 달라서 MR을 PR로 완벽하게 변환하는 것은 불가능하다. 하지만 흉내내는 정도로 데이터를 마이그레이션을 하는 방법이 존재한다. GitHub - piceaTech/node-gitlab-2-github: Migrate Issues, milestones etc from gitlab to githubMigrate..

Tech 2025.08.28

Load Balancing?

쿠버네티스를 공부 혹은 운영할때 가장? 많이 듣게 되는 Load Balancing이 무엇인지 자세하게 공부해본적이 없어 자세하게 파해쳐 보려고 한다.Load Balancing(로드벨런싱)쿠버네티스는 본질적으로 컨테이너 오케스트레이션 플랫폼이고, 핵심 목표라고 할 수 있는 “안정적이고 확장 가능한 서비스를 운영하는 것”이다.이 핵심 목표를 위해서는 사용자의 트래픽을 다수의 Pod로 분산하는 하는 기술이 필요하다.이것을 가능하게 해주는 기술이 바로 “Load Balancing(로드벨런싱)”이다.Scale up & Scale out로드벨런싱에 대한 설명 이전에 서버 성능 향상을 위한 방법을 알아보자.서버 성능 향상을 위한 대표적인 방법은 Scale up, Scale out 이렇게 2가지가 존재한다.해당 두가지..

Tech 2025.08.28