본문 바로가기

MSA/Kubernetes

(4)
Kubernetes 기본개념 - 구조 오늘은 쿠버네티스 클러스터의 기본 구조에대해서 정리해보려고한다. Master(Control Plane) & Node(Worker Machines) - 쿠버네티스에는 마스터, 노드가 존재한다. - 노드에서는 실제 어플리케이션의 레벨의 서비스들이 동작하고 있는 공간이며 마스터는 이러한 워커 노드들의 상태를 관리하기 위한 공간이라고 생각하면 된다. - 쿠버네티스는 3개(마스터 1개, 워커 2개) 의 노드로 구성을 권장하는데 고가용성 클러스터를 구성하는 경우 여러개의 마스터 노드를 두기도 한다. Master (Control Plane) 전체 클러스터를 관리하는 역할을 하며 kube-api-server, kube-controller-manager, kube-scheduler, cloud-controller-man..
Kubernetes 개념 - Object 먼저 Kubernetes란??? Kubernetes : 구글에서 개발한 컨테이너 오케스트레이션 다음은 Kubernetes가 구성되는 개념인 Object와 Controller에 대해서 정리해보려고한다. Object란 "하나의 의도를 담은 레코드" 라고 쿠버네티스 공식문서에 나와있다. - 여기서 의도를 담은 레코드란 무엇일까?? 레코드마다 음악이 다르듯이 Kuberntes에서도 각 object들이 어떤 의미를 가지고 행하는것인지 하는게 아닐까?? 라고 추측해본다 (주관적인 생각) Kubernets에서 기본적인 구성단위가 되는건 크게 Basic Object와 Basic Object를 추가관리하는 Controller로 나뉜다고한다. Basic Object - Pod 쿠버네티스에서 가장 기본적인 배포단위, 컨테이..
Service Mesh란?? Service Mesh에대해서 정리해보려한다. Microservices Architecture 가 적용된 시스템의 내부 통신을 구조화 해보면 Mesh(망) 형태로 보여 Service Mesh라고 명명하였다고 한다. Service Mesh란?? - 마이크로 서비스간의 통신(네트워크)를 담당하는 역할 - 마이크로 서비스간의 통신을 추상화하고 네트워크 기능을 비즈니스 로직과 분리한 Infrastructure layer이다. - URL 경로, Header, API 버전 등을 기반으로 하는 7계층 Network layer이다. 왜 Service Mesh를 적용하는가??? - 서비스 와 인스턴스의 증가로 Microservices의 복잡성이 증가하고 동적인 인스턴스가 Up/Down 되는 상태에서 각 서비스간 수 많은..
Kubernetes 개념 - Controller Kubernetes Controller란?? -> Basic Object를 생성하고 관리하는 역할을 한다. 1. Deployment 2. ReplicaSet 3. StatefulSet 4. DaemonSet 5. Job 컨트롤러의 역할을 구분하면서 해당하는 컨트롤러들을 분류해보자. - 역할 1. Auto-Healing Pod 의 문제가 생기거나 실행되는 노드에 문제가 생기면 해당 Pod를 다시 실행하는 기능 ( Replicaset, Daemonset이 여기에 해당) 2. Software Update Pod에 대한 버전 및 자동 업데이트를 담당하며 롤백을 할수 있다.(Deployment) 3. Auto-Scaling Pod에 리소스가 부족할때 추가적으로 Pod를 생성하고 분산하여 Pod를 죽지않게한다. 4..