Kubernetes 7

Kubernetes - MetalLB

안녕하세요.오늘은 MetalLB에 대해 알아보겠습니다. 저희는 앞서 쿠버네티스 서비스에 대해 알아보았는데요. Kubernetes - 서비스란?그중 Load Balancer 타입에 대해서 알아보았습니다. 공식 문서에서도 알 수 있듯이 `loadbalancer` 타입은 클라우드 공급자의 로드밸런서를 필요로 합니다. Azure, AWS 같은 클라우드 환경에서는 `loadbalancer` 타입의 서비스를 생성하면 클라우드가 자동으로 로드 밸런서 인스턴스(예: aws의 NLB, azure의 LB)를 만들어 트래픽을 분산시켜 줍니다. 하지만 온프레미스 환경에서는 이런 기능은 자동으로 제공되지 않습니다. 이때 Metal LB를 사용하면, 클라우드 처럼 별도의 로드 밸런서 서버를 만들지 않아도 외부에서 접근 가..

Kubernetes 2025.10.12

Kubernetes - Ingress Controller

안녕하세요. 오늘은 Ingress Controller에 대해 알아보겠습니다. # Ingress Controller 란? 쿠버네티스가 지원하는 파드, 컨트롤러와 같은 API 중 하나로 웹 기반의 서비스를 외부에서 접속 가능하게 해 줍니다.대표적으로 아래와 같은 기능을 제공합니다. Service에 외부 URL을 제공트래픽을 로드밸런싱SSL 인증서 처리Virtual hosting을 지정간단히 말해서 7 계층 로드밸런서의 역할을 합니다.이러한 Ingress Controller에는 다양한 오픈 소스가 존재합니다. NGINX Ingress ControllerTraefikHAProxyIstio Gateway클라우드별 컨트롤러 (AWS, GCP)저희는 NGINX Ingress Controller로 테스트를 진행하겠습니..

Kubernetes 2025.10.09

Kubernetes - PV (with Azure)

안녕하세요. 오늘은 쿠버네티스에서 스토리지로 사용되는 Persistent Volume에 대해 알아보겠습니다. # Persistent Volume 이란? 파드는 기본적으로 생성되었다 삭제되었다를 반복합니다. 삭제될 때마다 파드에 저장된 데이터도 삭제된다면 서비스를 운영하는 입장에서는 굉장히 불편하고 비효율적일 것입니다. 이럴 때 사용가능한 것이 Persistent Volume(PV) 입니다. 영어 뜻은 영구적인 볼륨이라는 의미로 PV는 외부의 다양한 스토리지 서비스를 통해 파드가 삭제돼도 데이터를 보존할 수 있게 합니다. 위 그림과 같이 클러스터 외부의 서버에 데이터를 저장하는 것이 가능합니다. 파드에서 PV에 접근하기 위해서 PVC라는 것이 필요합니다. Persistent Volume Claim의 준말로..

Kubernetes 2025.10.07

Kubernetes - configmap, secret

안녕하세요. 오늘은 "configmap"과 "secret"에 대해 알아보겠습니다. # configmap 이란?configmap은 환경 설정값(configuration data) 을 관리하기 위한 리소스입니다. 예를 들어,DB와 연결이 필요한 파이썬 앱을 Pod로 띄웠을 때 ConfigMap이 없다면,매번 Pod 안에 들어가서 DB 주소나 포트 번호 같은 값을 직접 입력해야 합니다. 하지만 configmap을 사용하면 이런 설정값들을 한 곳에 모아서 관리할 수 있게 됩니다. Pod는 그 값을 불러와서 사용하기만 하면 됩니다. 이렇게 configmap으로 저장된 값은 etcd 내부에 평문으로 저장됩니다.# 환경 구성Flask를 이용하여 웹페이지에 접속하는 IP를 supabase에 저장하는 환경을 구축해 보..

Kubernetes 2025.10.05

Kubernetes - Deployment

안녕하세요.오늘은 쿠버네티스에서 가장 많이 사용되는 Deployment에 대해 확인해 보겠습니다. # Replicaset 이란?Deployment를 알아보기 전에 Replicaset부터 먼저 알아봐야하는데요. Replicaset을 관리하는 것이 Deployment의 역할이기 때문입니다. 본론으로 돌아와 Replicaset은 파드의 개수를 유지해주는 역할을 합니다. 만약 최소 3개의 파드가 유지되어야 할 때 노드에 문제가 생겨서 파드가 하나 삭제되어도 Replicaset은 이를 바로 감지하고 하나를 생성합니다. 반대로 하나가 더 추가로 생성되어도 바로 파드 하나를 삭제시켜 3개를 유지시키는 역할을 합니다. 직접 테스트를 진행해보겠습니다.apiVersion: apps/v1kind: ReplicaSetm..

Kubernetes 2025.09.28

Kubernetes - 서비스란?

안녕하세요. 오늘은 쿠버네티스에서 없어선 안될 존재 서비스에 대해 알아보겠습니다. # 서비스란?쿠버네티스에서 파드는 언제든지 죽었다가 다시 되살아나고를 반복합니다.그럴 때마다 IP가 바뀌게됩니다. 그렇기 때문에 유저 입장에서는 직접 접근하기가 어려운데요.이때 서비스는 여러 파드에 접근할 수 있는 고정된 네트워크 엔드포인트를 제공합니다.유저가 그 파드들에 접근할 수 있는 정책을 정의하는 추상적 개념입니다. # 서비스의 종류ClusterIPclusterIP는 쿠버네티스 서비스의 기본 설정값으로 클러스터 내부에서만 파드에 접근될 수 있는 유형입니다.외부에서는 접근이 불가능합니다. 즉, 다른 서버에서 ClusterIP를 이용하여 파드에 접근하는 것은 불가능합니다. 간단하게 디플로이먼트와 ClusterIP를 ..

Kubernetes 2025.09.22

Kubernetes - 설치하기

안녕하세요.오늘은 쿠버네티스 설치 과정에 대해 포스팅해 보겠습니다. 참고로 저는 클라우드 환경에서 IaaS 방식으로 배포하였기 때문에 따로 OS 내부 방화벽 설정은 진행하지 않았습니다.# 마스터 워커 노드 공통으로 설치지금부터 설명드리는 명령어들을 마스터 노드와 워커 노드 모두에 설정해주셔야합니다. sudo -iapt-get update -yapt-get install -y containerd 위 명령어는 컨테이너 런타임을 설치하는 명령어로 컨테이너 런타임은 컨테이너를 실행하고 관리하는 소프트웨어입니다. 저희는 `containerd`를 설치하겠습니다. `sudo -i` : 리눅스 내부 커널 등을 건드려야 하기 때문에 root 권한 필요`apt-get update -y` : 패키지 업데이트 진행`a..

Kubernetes 2025.09.14