본문 바로가기

Infrastructure/Kubernetes

(43)
[K8S] 쿠버네티스란 쿠버네티스 공식문서를 확인하며 쿠버네티스 개념과 관련하여 기억해야 하는 부분을 기록한다. 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고 확장가능한 오픈소스 플랫폼이다. 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스란 명칭은 키잡이(helmsman)이나 파일럿을 뜻하는 그리스어에서 유래했다. 15년 이상의 구글 경험이 담겨있는 쿠버네티스를 구글이 2014년에 오픈소스화했다. 역사 전통적인 배포(Traditional Deployment)가 이루어지던 시기에는 아래와 같은 특징이 있다. 애플리케이션을 물리 서버에서 실행하였고 하나의 물리적인 서버에 여러 애플리케이션이 실행되면서 리서스를 정의할 방법이 없었기 때문에 리소스 할당의 문제가 발생하였다. 해결책으로 서로 다른 여..
[K8S] 모범 사례 쿠버네티스 공식문서를 확인하며 모범 사례와 관련하여 기억해야 하는 부분을 기록한다. 대형 클로스터에 대한 고려 사항 클러스터는 컨트롤 플레인에서 관리하는 쿠버네티스 에이전트를 실행하는 노드(물리 또는 가상 머신)의 집합이며 v1.25에서는 아래의 기준을 만족하는 설정을 수용하도록 설정되어 있다. 노드 당 파드 110 개 이하. 노드 5,000개 이하. 전체 파드 150,000개 이하. 전체 컨테이너 300,000개 이하. 노드를 추가하거나 제거하여 클러스터를 확장할 수 있지만 수행하는 방법은 클러스터 배포 방법에 따라 다르다. 클라우드 프로바이더 리소스 쿼터 리소스 쿼터는 여러 팀이 노드로 클러스터를 공유할 때 한 팀이 분배된 리소스보다 많은 리소스를 사용하는 것을 의미한다. 여러 노드를 가지는 클러스터..
[K8S] 컨테이너 런타임 쿠버네티스 공식문서를 확인하며 컨테이너 런타임 관련하여 기억해야 하는 부분을 기록한다. kube-apiserver나 kube-proxy와 같은 몇몇 구버네티스 컴포넌트들은 클러스터 내에서 컨테이너 이미지를 통해 배포할 수 있다. 쿠버네티스 컴포넌트들은 가급적 컨테이너 이미지로 실행하는 것을 추천하며, 이를 통해 쿠버네티스가 해당 컴포넌트들을 관리하도록 한다. 컨테이너를 구동하는 컴포넌트(특히 kubelet)는 여기에 속하지 않는다. 쿠버네티스 클러스터를 직접 관리하고 싶지 않다면, 인증된 플랫폼과 같은 매니지드 서비스를 선택할 수도 있다. 광범위한 클라우드 또는 베어 메탈 환경에 걸쳐 사용할 수 있는 표준화된/맞춤형 솔루션도 있다. 클러스터를 직접 관리하는 경우, 공식적으로 지원되는 쿠버네티스 구축 도구..