쿠버네티스는 어떤 것일까?

김재연·2024년 1월 4일
0

서론

이번 게시글은 시간이 없어서... 정말 간단하게 쿠버네티스의 개념에 대해서만 잡고 넘어갈 것이다.

아니 더 간단하게 구조와 각각의 요소들이 어떠한 개념을 가지는지 정도만 말하고 넘어가겠다.

쿠버네티스의 대략적인 구조

쿠버네티스는 클러스터를 생성하여 하위 계층들을 관리할 수 있다.

그 하위 계층들에는 어떠한 것들이 있을까??

클러스터 다음으로, 노드라는 개념이 존재한다.

노드는 세가지 종류의 노드로 나뉜다.

마스터 노드, 인그레스 노드, 워커 노드로 나뉘게 된다.

각 요소들에 대한 설명은 이후에 설명하겠다.

또한, 워커 노드는 kubelet 을 가지고 있고, 또한 Docker, Containered 를 가지고 있다.

워커 노드 안에는 여러 Container 뜰 수 있으며, 이 Container 들을 묶어놓은 집합을 Pod 이라고 한다.

출처 : 쿠버네티스 공식 블로그

쿠버네티스는 간략하게 이러한 구조로 이루어져있다는 것을 알 수 있다.

요소에 대한 설명

아까 세가지 종류의 노드로 나뉜다고 했다.

마스터 노드, 인그레스 노드, 워커 노드로 말이다.

마스터 노드는 실제로 각각의 노드들과 통신하며, 인스턴스를 생성하고, 삭제하거나 혹은 수정하는 역할을 한다.

마스터 노드 안에는 디플로이먼트라는 개념이 존재하여, 각각의 서비스들을 계속해서 감시하고 나아가 장애 대응마저도 도와주게 된다.

인그레스 노드는 쿠버네티스 외부와 쿠버네티스 내부를 연결해주는 역할을 한다.

HTTP, HTTPS 를 노출시켜 애플리케이션으로 트래픽이 들어올 수 있도록 하고, 정해진 라우팅 규칙으로 인해서 서비스로 라우팅 해준다.

아 그리고, 인그레스 노드 리소스만 생성하서는 의미가 없고, 추가적으로 인그레스 컨트롤러도 생성을 해주어야지, 요청을 내부로 연결해줄 수 있다.

마지막으로 워커 노드이다.

워커 노드는 실질적으로 애플리케이션이 동작하는 부분이다.

그렇기 때문에 Docker 가 깔려있는 것이다.

워커노드는 Kubelet 을 활용하여 마스터 노드와 통신하고, 내부의 인스턴스들을 조정한다.

그리고 워커 노드 내부에 있는 Pod 라는 개념은 여러개의 Container 를 합쳐, 하나의 IP, Volume 등등을 공유한다.

하지만, Pod 만으로는 외부와 연결될 수 없다.

그렇기 때문에 추가적으로 파드들을 묶은 집합 파드셋을 정의하여 Service 로 정의하여, 외부와 통신할 수 있는 IP 를 부여하고, Label 을 정의함으로써 외부와 연결될 수도 있게끔 한다.

참고자료

https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/

profile
끊임없이 '성장'하는 개발자 김재연입니다.

0개의 댓글