
MicroK8s에 Worker Node 추가하기
MicroK8s 클러스터에 계산 자원을 늘리고 싶을 때 worker node를 추가할 수 있습니다. 이 글은 EC2의 private network 안에서 기존 control plane에 worker를 안전하게 조인하고, 실제 Pod가 해당 node에 배치되는지 확인하는 흐름을 다룹니다. TL;DR microk8s add-node가 ...

MicroK8s 클러스터에 계산 자원을 늘리고 싶을 때 worker node를 추가할 수 있습니다. 이 글은 EC2의 private network 안에서 기존 control plane에 worker를 안전하게 조인하고, 실제 Pod가 해당 node에 배치되는지 확인하는 흐름을 다룹니다. TL;DR microk8s add-node가 ...

저번 시간에 EC2 위에 MicroK8s Cluster를 구축 후 web server를 배포하는 것까지 다뤘습니다. 하지만 MicroK8s를 구축한 이유는 데스크탑과 맥북에서 해당 클러스터를 공유해 사용하기 위해서였습니다. 이번에는 EC2의 kubeconfig 파일을 Local에 가져와 kubectl 명령을 수행하는 것을 목표로 진행해보겠습니다. ...

필자는 맥북과 윈도우 데스크탑 환경을 사용하고 있습니다. EKS Cluster의 context를 가져와 하나의 Kubernetes Cluster를 두 환경에서 공유해서 사용하고 있었으나…. 문제는 EKS를 개인 실습용으로 지속적으로 사용하기에는 비용이.. ㅠㅠ 너무 비쌌습니다. 이를 해결하기 위해 Free-Tier인 t2.micro로 Minikube,...
Type 1, Type 2 가상화의 차이점으로는 하이퍼바이저가 하드웨어 바로 위에서 동작하느냐, 소프트웨어(OS) 위에서 동작하느냐였습니다. 그렇다면 전가상화, 반가상화는 무엇이고 각각의 차이점은 어떻게 될까요? 1. 전가상화(Full Virtualization) 전가상화에서는 하드웨어를 완전히 가상화하는 방식입니다. 하이퍼바이저가 하드...

Type 1과 Type 2 가상화는 하이퍼바이저 기반의 가상화 접근 방식을 구분 짓는 두 가지 주요 유형입니다. 이 두 가지 유형은 각각 다른 방식으로 하드웨어 상에서 가상 머신(VM)을 실행합니다. 이러한 차이점은 성능, 사용 용도, 그리고 보안 측면에서 중요한 영향을 미칩니다. 1. Type 1 가상화(베어 메탈 가상화) 정의 ...
1. 가상화란? 가상화란 IT 인프라의 다양한 측면을 추상화하고 최적화하기 위해 사용되는 기술입니다. 이러한 기술은 자원 활용도를 높이고, 운영 비용을 절감하며, 시스템의 유연성과 확장성을 강화하는 데 중요한 역할을 합니다. 2. 가상화의 종류 2.1. 서버 가상화 하나의 물리적 서버를 여러 개의 독립적인 가상 서버로 분할합니다. 각 서버는...
네트워크나 웹을 공부하다 보면 Stateless와 Stateful을 자주 접하게 됩니다. Stateless는 상태를 유지하지 않고, Stateful은 상태를 유지한다고 하는데 이게 무슨 의미일까요? 1. Stateless (무상태) Stateless 통신에서는 각 요청을 독립적으로 처리합니다. 서버는 이전 요청에서의 상태나 데이터를 기억...

제로부터 시작하는 백엔드 프로그래밍 과거에는 Java의 Spring Boot를 사용했고, Docker와 Kubernetes를 배우게 되면서 Go 언어를 알게 되었고 흥미가 생겨 해당 언어를 공부하고 최근 Gin-Gonic 프레임워크를 사용해서 백엔드 프로젝트를 수행했던 경험이 있습니다. 최근 백악관에서 C/C++ 사용을 자제하는 뉴스를 접하고 러스...

1. Goroutine - [Concurrency vs Parallelism] Goroutine은 동시성과 병렬성을 매우 간결하고 효과적으로 다룰 수 있는 기능을 제공합니다. 1.1. 동시성(Concurrency) 싱글 코어에서 멀티 쓰레드 동작 여러 작업을 시간을 나누어 사용함으로써 동시에 실행되는 것처럼 보이는 기술입니다. ...

Kubernetes 클러스터는 컨테이너를 실행하는 머신의 묶음이 아니라, 선언한 상태를 실제 상태에 계속 맞추는 분산 제어 시스템이다. 사용자는 API에 원하는 상태를 기록하고, 컨트롤 플레인과 노드 구성 요소는 그 상태를 관찰하고 조정한다. 이 관점을 잡으면 Pod가 어느 경로로 생성되고, 장애 때 무엇을 먼저 확인할지 이해하기 쉬워진다. T...