brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Oct 10. 2023

14탄-11. 네이버클라우드-쿠버네티스

네이버 Kubernetes Service를 알아보자.



<1> 네이버 Kubernetes Service

<2> 쿠버네티스 주요기능

<3> 쿠버네티스 컴포넌트 

<4> 쿠버네티스 핵심 개념

<5> 쿠버네티스 생성




<1> 네이버 Kubernetes Service


완전관리형


Master (컨트롤 플래인)와 Work node로 구성된다.


네이버 클라우드 플랫폼에서는 Master (컨트롤 플래인)을 운영한다. 사용자에게 보이지 않는다.

사용자는 Work node만 관리한다.




<2> 쿠버네티스 주요기능


Automatic Binpacking = 스스로 스케쥴링하며 컨테이너를 배치함

Storage Orchestraion = 로컬저장소나 NFS, SCSI등 공유 네트워크 스토리지를 컨테이너에 할당 사용가능

Secret & Configuration Management =  보안키, 설정을 컨테이너 이미지 변경업이 업데이트, 외부로 노출하지 않고 사용함.

Hortzontal Scaling = pod를 수평적으로 확장 가능함

Service Discovery & Load Balancing = IP주소를 자동하당 , 트래픽을 로드밸런싱 하도록 단일 DNS이/름을 할당함

Self Healing = 실패한 컨테이너를 자동 다시 지작. 응답 없는 컨테이너를 종료함.

Batch Execution = 배치 및 CI작업 부하르 관리, 크론잡등 사용가능

Automatic Rollbacks & Rollouts = 문제 발생시 자동 롤백 할수 있음.



 

<3> 쿠버네티스 컴포넌트 


1

control Plane 

api-server 를 통해 명령을 전달한다.


2

work node에서는 kubelet 으로 통신.

kube-proxy가 워커노드에서 통신을 담당한다.


worker node요소가 아닌것은?

도커

kubeproxy

kublet

컨트롤러 매니저는 마스터 노드



<4> 쿠버네티스 핵심 개념


1

파드 ?

파드는 애플리케이션의 기본 실행 단위

하나의 컨테이너일수도 있고, 다수의 컨테이너 일수도 있다.

Pod = 강낭콩안의 컨테이너들 


최소 실행 단위는 ?

파드



쿠버네티스 명령 내리기 위해 필요한것은?

kubectl 유틸이다

kublet이 아니다.





2

디플로이 먼트?

애플리케이션을 다운타임 없이 업데이트 가능하도록 지원해주는 쿠버네티스 리소스

기대 상태를 유지하도록 하는 컨트롤러

리플리카세트에 대한 업데이트를 담당

리플리카세트는 사용자가 선언한 기대 상태인 리플리가의 수를 지속적으로 확인하여 유지 시킴



3

데몬셋?

클러스터 내 모든 노드에서 Pod의 복제본을 실행하도록 함.

특정 노드만에도 Pod를 배치시킬수 있다.

기본적으로는 모든 노드에 배치된다.



4

서비스 ?

클러스터 내 Pod들에게 접근하기 위한 방법으로 사용.

로드밸런싱 기능 제공

지정된 IP로 생성가능

서비스 이름은 클러스터내 고유한 DNS로 동작


3가지?

Cluster IP

NodePort

LoadBalancer


내부에서만 사용? Cluster IP

외부에서 사용?  NodePort  , LoadBalancer


장기간 유지되는 엔드 포인트 및 워커 노드간 로드밸런싱 필요? LoadBalancer



5

Ingress ?

외부에서 오는 트래픽들을 클러스터 내부의 서비스로 라우팅 하기 위한 규칙 집합.

NCR는 Host기반 , URL Path기반 라우팅에 대한 규칙 사용.  URL기반 사용가능하다.

ingress에 대한 Service 타입 지정은 외부 트래픽 수신을 위해, NodePort 혹은 LoadBalancer 지정이 필요하다.

로드밸런서 및 공인 IP 사용을 최소화 하기 위해 하나의 VIP에 모든 도메인을 할당가능.

HTTP Request의 Host와 URL Path 정보를 통해 타겟 Pod로 라우팅



6

네이버 클라우드 쿠버네티스 특징


마스터 노드?

마스터 노드는 히든으로 구성

HA구성으로 고가용성 제공

관리자의 관리 필요 없음


워커 노드 구성?

다양한 스펙의 워커 노드 구성

라이브러리 자동 설치 제공

최대 50개까지 워커 노드 구성 가능하다.



7

GPU 노드 지원은?

네이버 클라우드 쿠버네티스는 GPU노드도 지원한다.

일반 노드풀에 GPU 노드풀을 추가해 사용하는것을 권장한다.

KR2만 현재 지원.

디바이스 플러그인 구현하여 Pod가 GPU와 같이 특별한 하드웨어 기능에 접근할수 있도록 구성 필요




<5> 쿠버네티스 생성


1

KR2

프라이빗으로만 생성가능

LB서브넷 필수 - 프라이빗으로 미리 만들었다

워커 노드는 최대 50개까지 가능하다.




2

우분트만 지원된다.




3

사설에 있는 서버가 외부 통신시 NAT가 필요하다.



NATGW사용하려면 NAT 전용 서브넷이 필요하다.!!




4

NATGW전용 서브넷 생성 (필수)




5

NAT GW 생성

사설 라우팅에 0.0.0.0/0 NAT 추가 필요




다음은 스토리지

https://brunch.co.kr/@topasvga/3470



감사합니다.




                    

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari