Certificated 도전/CKA - Kubernetes

[CKA] 쿠버네티스란 무엇인가, 쿠버네티스 구조를 파악하자

지추월자 2022. 11. 16. 19:52
반응형

1) 컨테이너 -> 도커 -> 쿠버네티스

시스템을 개발하다보면, 개발하다보면 실행 환경 차이로 인한 문제점들을 컨테이너 기술로 해결할 수 있었습니다. 컨테이너에 필요한 정보들을 넣고 개발환경과 실제환경을 컨테이너 기술로 맞춰나갔습니다. 즉, 소프트웨어를 실행하기 위해 필요한 모든것이 포함되어 있는 유닛들 집합을 컨테이너라고 볼 수 있는데요. 

컨테이너를 사용하고 애플리케이션 환경을 구축하고 운영하기 위해서는 컨테이너를 관리하는 플랫폼이 필요합니다. 대표적인 컨테이너 운영 플랫폼이 도커죠 

컨테이너들이 하나 둘, 늘어나게되면서 많은 컨테이너를 관리해야하는데, 이 많은 컨테이너들을 관리해줄 수 있는 자동화 툴이 쿠버네티스 기술입니다. 

쿠버네티스는 컨테이너 하나가 죽으면 다시 하나 살려주고, 확장해주고 스케쥴링해주고 , 로드밸런싱 등 많은 컨테이너를 관리할 수 있는 기술을 쿠버네티스라고 할 수 있겠습니다.

2) 쿠버네티스 구조 ( 아키텍쳐) 

쿠버네티스 구조로 크게 마스터 노드워커노드가 있습니다.

 

<워커노드> 

워커노드는 실직적으로 일을 하는 애들이 있는 곳이라고 생각하면 되고, 워커노드 안에는 마스터 노드와 통신할 수 있도록해주는 배의 선장같은 역할을 해주는 것이 kublet입니다. 그리고 워커노도로 들어오고 나가는 트래픽을 처리하는 것이 kube-poxy입니다. 그리고 애플리케이션을 배포하기 위한 가장 기본적인 단위인 Pod들이 있습니다. 

 

<마스터노드>

마스터노드는 워커노드를 관리하고, 쿠버네티스의 모든 통신은 API-server에서 하고 있습니다. 마스터 노드 안에 Scheduler가 있기 때문에 클러스터 안에 자원할당 가능한 노드들을 파악해서 새롭게 만든 파드를 실행시켜줄 수 있는 기능을 수행하는 것입니다. 또한 쿠버네티스에서 필요한 모든 데이터를 저장하는 DB 역할을 하는 etcd도 있습니다. 

쿠버네티스는 워커노드들을 컨트롤 플레인 ( 컨트롤러)를 통해서 워커도으의 파드들을 컨트롤하고 있습니다. 

반응형