Kubernetes

Browse Posts

Kubernetes

Kubernetes 클러스터, 네트워크, 서비스, 운영 도구를 다룬 글입니다.

Kubernetes

Minikube service 파헤치기

TL DR; 1. Intro 로컬에서 간단히 Kubernetes 환경을 테스트 할 경우, VM을 생성하여 직접 구성하는 대신 Minikube, Kind 등과 같이 컨테이너 기반의 자동화된 클러스터 구성 도구를 사용하여 테스트 하곤 한다. 해당 도구로 생성된 클러스터의 경우, 클러스터 내부의 동작 (k8s 내 오브젝트 생성 편집 삭제 등)을 확인하고 테스트하기엔 적합하다. 그러나 호스트와 직접 연결된 VM 네트워크 대신 […]

Kubernetes
Kubernetes

Kubernetes etcd 내부의 데이터 까보기

Intro Kubernetes의 기본 아키텍처를 살펴보면 내부 데이터 저장을 위해 etcd라는 별도의 K-V store를 사용한다. k8s의 Pod Scheduling Workflow를 살펴보면, api-server로 요청된 구성을 etcd에 desired state로 등록한뒤, controller가 current state와 desired state를 맞추기 위한 조정을 수행하여 Pod가 생성된다. 일반적으로 명령어(cli)나 구성파일(YAML)의 형식으로 리소스를 정의해 api-server에 전송하여 실행한다. 이때 실제로 etcd에는 data가 어떤식으로 저장되는지 궁금해졌다. 하지만 일반적으로 […]

Kubernetes

로컬 Kubernetes 클러스터 구성 도구 비교

Intro 쿠버네티스 환경에서의 공부/개발 테스트 시 로컬 클러스터가 필요하다. 학습 목적의 클러스터가 필요할 수도 있고, 개발한 어플리케이션을 실제 운영/개발 환경에 배포하기 이전에 Manifest 단에서 잘 배포가 되는지 확인이 필요할 수 있기 때문이다. 이러한 로컬 Kubernetes 클러스터 도구에 대해서, 수많은 구성도구가 존재하며 모두 다 자기가 최선의 선택이다/많은 기능을 제공한다고 이야기를 한다. 하지만 선택받는것은 그 중 하나일 […]

Kubernetes

M1맥북에서 Rocky리눅스에 UTM으로 HA Kubernetes 클러스터 구축하기

1. Intro 처음 Kubernetes를 공부할때는 Windows 환경에서 VirtualBox + Vagrant를 사용해 로컬 쿠버네티스 클러스터를 생성해 이것저것 테스트 했었다. 비용부담없는 로컬 클러스터라는게 꽤나 마음에 들었다. 그러나 업무상 주로 사용하는 M1 Macbook에서는 VirtualBox를 사용할 수 없다. 대안으로 컨테이너 기반의 노드를 생성한 후 클러스터를 제공하는 Docker Desktop 내장 Kubernetes, Minikube, Kind, k3d, Orbstack 등의 도구들이 존재한다. 해당 도구들은 […]

Kubernetes

Kubernetes 클러스터 관리를 용이하게, alias & k9s & openlens 소개

TL; DR 1. Intro 쿠버네티스 클러스터를 제어할 때, 일반적으로 kubectl 이라는 CLI 명령어를 많이 활용한다. 쿠버네티스는 쿠버네티스 API를 사용하여, 쿠버네티스 클러스터의 컨트롤 플레인과 통신하기 위한 명령줄 도구를 제공하며, 그 도구의 이름은 kubectl이다. Kubernetes provides a command line tool for communicating with a Kubernetes cluster’s control plane, using the Kubernetes API. This tool is named kubectl. Command […]