kubernetes 4

Kubernetes: The Documentary

Youtube에서 Kubernetes 관련 흥미로운 영상을 발견하여, 스크랩 및 정보 공유차 블로그에 올린다. 2022년 1월에 'Kubernetes: The Documentary'라는 제목으로 공개된 다큐멘터리로, K8s를 개발한 사람들이 직접 인터뷰를 하면서 어떻게 만들었는지부터 그 과정에서 있었던 비하인드 스토리를 이야기해 주는 형식이다. Part 1, 2 합쳐서 전체 50분 정도 되는 영상인데 지루할틈 없이 한번에 모두 봤을만큼 재밌는 내용이 많았다. 특히 Kubernetes라는 이름을 어떻게 지었는지 알려주는데, 약간은 허무하면서도 인상깊었다고 해야할까 ㅎㅎ 참고로 DockerCon 2014에서 K8s를 공개한 시점 이전과 이후를 기준으로 Part 1과 Part 2가 나뉘어져 있다. Part 1..

Kubernetes 2022.02.04

Imperative Vs. Declarative

Kubernetes Object를 생성하는 방식은 크게 두가지이다. Shell에서 직접 명령어를 실행하거나, 별도의 파일에 Object를 정의하는 방식이다. Infrastructure as Code 관점에선 이를 각각 Imperative(명령형) 접근, Declarative(선언형) 접근으로 구분한다. 예를 들어 Imperative 방식은 택시 기사에게 직진, 좌회전, 우회전 등으로 경로를 일일이 설명하면서 목적지까지 도착하는 반면, Declarative 방식은 기사에게 자신의 목적지를 알려주면 구체적인 설명없이도 알아서 도착하는 것으로 생각할 수 있다. Infrastructure as Code 보다 프로그래밍적인 예시로, nginx 서버를 가상머신에 배포하는 과정을 Code로 비교해보자. Imperat..

Kubernetes 2021.04.08

Calico 설치 및 Mode 변경

Calico 설치 본 설치는 50개 이하 Node로 구성된 on-prem K8s 클러스터에 적합한 방식이며, 그외에는 Calico 공식 홈페이지를 참고하도록 하자. 테스트 환경은 Master 1개, Worker 2개로 이루어진 간단한 Cluster이며, 각 Node의 IP와 Pod CIDR은 다음과 같다. master: 172.30.1.42 worker-1: 172.30.1.45 worker-2: 172.30.1.29 Pod CIDR: 192.168.0.0/16 1. Manifest 다운로드 Manifest 파일은 아래 명령어를 통해 Download 하도록 하자. 해당 파일을 종종 수정해야 할 일이 생기므로, 매번 인터넷에서 가져오는 것보다 직접 갖고 있는 편이 좋다. curl https://docs.p..

Kubernetes 2021.01.29

Cluster Networking

시작하며... Kubernetes 클러스터를 직접 구축하는 경우, CNI 플러그인 설치를 요구받게 된다. 현재 시장에는 수십개 이상의 CNI 플러그인이 존재하며, 한번 설치하고나면 운영 중 다른 플러그인으로 교체는 결코 쉽지 않은 작업이 되므로 신중하게 선택해야 한다. 각 플러그인마다 수행방식이나 네트워크 모델이 제각각이며 장단점 또한 다르기 때문에 우리의 선택엔 확실한 근거와 기준이 필요하다. 이를 위해 Container와 Container, Container와 Host 사이에 어떻게 네트워크가 구성되는지 알아보도록 하자. 우선 Kubernetes의 Network Model은 아래와 같이 단순하지만 확고한 요구사항 3개를 명시해 놓았다. K8s Network Requirements Pod은 NAT을 사..