개발자 블로그를 위한 네걸음

개발자 블로그를 위한 네걸음

기본적인 서버 구성이 완료되었고 쿠버네티스 (Kubernates)가 준비가 되었지만, 아직도 블로그 구축을 위한 세팅이 끝나지 않았습니다. 이전 포스팅에서는 정상적으로 '작동'만 하는 쿠버네티스를 설치했을 뿐이고, 블로그 구축을 위해 부가적인 세팅을 위해 한 발자국 더 나아가도록 하겠습니다.

개발자 블로그를 위한 세걸음
기본적인 서버 구성이 완료되었고 블로그를 위한 작업을 한 발자국 더 나아가도록 하겠습니다. 이번에는 Ubuntu 서버에 Kubernates(이하 쿠버네티스) 설치입니다. 쿠버네티스 이외에도 여러가지 서비스 방법이 있지만, 중요하게 생각한 관점은 경제성에 포함된 노동력을 생각해 ‘내가 적게 일하면서 많은 것을 자동화하기’ 이었습니다. 개발자 블로그를 위한 두걸음블로그 호스팅 방향이 정해졌으니 블로그를 위한 작업을 한

MetalLB 란?

온프레미스 쿠버네티스를 외부트래픽과 통신하며 사용하기 위해서는 로드밸런스 또는 L4/L7 스위치를 사용하거나 소프트웨어 로드밸런스 기능을 사용해야 합니다.
하지만 로드밸런서나 스위치는 지금 구축한 서버보다 고가이며, 유료호스팅 방식들의 월유지비를 뛰어넘는 초기비용이 발생하기 때문에 소프트웨어 로드밸런서인 MetalLB를 사용하도록 하겠습니다.

MetalLB를 설치할 때 주의 사항과 공유기 설정를 공유하며, Helm Chart를 통한 설치로 쉽고 간단하게 적용할 수 있습니다.


MetalLB 설치

  1. hem 레포추가
helm install metallb -n metallb --create-namespace bitnami/metallb
  1. 설정변경
kubectl patch configmap kube-proxy -n kube-system --type merge -p '{"data":{"mode":"ipvs","ipvs":{"strictARP":"true"}}}'
  
#설정 후 재시작
kubectl delete pod -n kube-system -l k8s-app=kube-proxy

metallb를 사용하기 위한 쿠버네티스 설정에 대한 설명은 다음과 같습니다.

  • IPVS 모드 는 고성능 로드 밸런싱을 제공하여 대규모 클러스터에서 더 나은 성능과 확장성을 제공합니다.
  • strictARP 는 각 노드가 자신에게 할당된 IP 주소에 대해서만 ARP 응답을 보내도록 하여 네트워크 안정성을 높입니다.

설정 후 기존 포드를 삭제하면 자동으로 새로운 포드를 생성하면 새로운 설정이 적용됩니다.

  1. 공유기 설정
iptime 공유기에서는 위와 같은 위치에 아이피 범위가 있습니다.

공유기 설정에서 DHCP로 자동으로 할당되는 아이피 범위를 공유기 자신의 아이피 (192.168.0.1) 과 MetalLB에서 사용할 아이피 (192.168.0.251 ~ 192.168.0.254)를 제외한 범위로 지정을 해줍니다. MetalLB에서 사용할 아이피는 1개만 사용해도 괜찮지만, 예시에서는 다른 서비스나 테스트를 위해 4개를 사용했습니다.

이제 공유기에서는 아이피 범위 (192.168.0.251 ~ 192.168.0.254)에 대해서 알지 못하는 상태됩니다.

  1. metalLB 설정 매니패스트

vi metallb-config.yaml

---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: lb-ip-pool
  namespace: metallb-system
spec:
  addresses:
  - 192.168.0.251-192.168.0.254
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: metallb-l2
  namespace: metallb-system

공유기에서 미리 빼놓은 아이피 범위를 사용하도록 설정하고 다음 명령어로 매니패스트를 적용합니다.

kubectl apply -f metallb-config.yaml

이제 해당 아이피 범위는 쿠버네티스 클러스터 내에서만 존재하고 접근이 가능하게 됩니다. 하지만 아직 외부에서 쿠버네티스를 통한 서비스가 작동하지 않습니다. 이어서 ingress 에 대해 포스팅하겠습니다.

Read more

푸름이세요? 아니요 구름인데요

푸름이세요? 아니요 구름인데요

클라우드 컴퓨팅(Cloud Computing) 이란? 클라우드 컴퓨팅은 IT 인프라를 손쉽게 관리할 수 있도록 도와주며, 확장성과 유연성을 제공하는 기술입니다. 물리적인 서버를 직접 구매하지 않아도 되며, 필요한 만큼의 자원을 사용하고 비용을 절감할 수 있다는 점에서 많은 기업과 개인이 활용하고 있습니다. 클라우드 서비스의 유형을 크게 세 가지 모델로 나눌 수 있습니다. 인프라스트럭처 서비스(

By hyobin
빔슬람(Vimslam)이 되보자

빔슬람(Vimslam)이 되보자

Vim이란? Vim은 서버에서 작업하는 사람들 사이에서 유용한 텍스트 편집기입니다. UNIX 시스템에서 표준 편집기였던 VI의 개선판으로 Vi Improved의 약자입니다. 그래서 대부분의 유닉스기반(리눅스를 포함한) 운영체재에 설치되어있고 작동합니다. Vim은 다음과 같은 특징을 갖고 있습니다. * 모드 기반 편집 Vim은 입력 모드와 명령 모드로 구분됩니다. 사용자는 명령 모드에서 편집, 삭제, 검색 등을 빠르게 할

By hyobin