1) 컨테이너 -> 도커 -> 쿠버네티스
시스템을 개발하다보면, 개발하다보면 실행 환경 차이로 인한 문제점들을 컨테이너 기술로 해결할 수 있었습니다. 컨테이너에 필요한 정보들을 넣고 개발환경과 실제환경을 컨테이너 기술로 맞춰나갔습니다. 즉, 소프트웨어를 실행하기 위해 필요한 모든것이 포함되어 있는 유닛들 집합을 컨테이너라고 볼 수 있는데요.
컨테이너를 사용하고 애플리케이션 환경을 구축하고 운영하기 위해서는 컨테이너를 관리하는 플랫폼이 필요합니다. 대표적인 컨테이너 운영 플랫폼이 도커죠
컨테이너들이 하나 둘, 늘어나게되면서 많은 컨테이너를 관리해야하는데, 이 많은 컨테이너들을 관리해줄 수 있는 자동화 툴이 쿠버네티스 기술입니다.
쿠버네티스는 컨테이너 하나가 죽으면 다시 하나 살려주고, 확장해주고 스케쥴링해주고 , 로드밸런싱 등 많은 컨테이너를 관리할 수 있는 기술을 쿠버네티스라고 할 수 있겠습니다.
2) 쿠버네티스 구조 ( 아키텍쳐)
쿠버네티스 구조로 크게 마스터 노드와 워커노드가 있습니다.
<워커노드>
워커노드는 실직적으로 일을 하는 애들이 있는 곳이라고 생각하면 되고, 워커노드 안에는 마스터 노드와 통신할 수 있도록해주는 배의 선장같은 역할을 해주는 것이 kublet입니다. 그리고 워커노도로 들어오고 나가는 트래픽을 처리하는 것이 kube-poxy입니다. 그리고 애플리케이션을 배포하기 위한 가장 기본적인 단위인 Pod들이 있습니다.
<마스터노드>
마스터노드는 워커노드를 관리하고, 쿠버네티스의 모든 통신은 API-server에서 하고 있습니다. 마스터 노드 안에 Scheduler가 있기 때문에 클러스터 안에 자원할당 가능한 노드들을 파악해서 새롭게 만든 파드를 실행시켜줄 수 있는 기능을 수행하는 것입니다. 또한 쿠버네티스에서 필요한 모든 데이터를 저장하는 DB 역할을 하는 etcd도 있습니다.
쿠버네티스는 워커노드들을 컨트롤 플레인 ( 컨트롤러)를 통해서 워커도으의 파드들을 컨트롤하고 있습니다.
'Certificated 도전 > CKA - Kubernetes' 카테고리의 다른 글
[CKA] 서비스와 파드를 같이 만드는 명령어 기억하기 (0) | 2023.03.05 |
---|---|
[CKA] 네임스페이스 변경하는 방법 (0) | 2023.03.05 |
[CKA] pod scale replica 변경시 필요한 명령어 (0) | 2023.03.01 |
[CKA]쿠버네티스 yaml 파일 생성시 필수 명령어 모음 (0) | 2022.11.27 |
[CKA] 쿠버네티스의 핵심요소 ( pod, 컨트롤러, replicaset, deployment) (0) | 2022.11.16 |