교육, 커뮤니티 후기/인프런 교육

<인프런> 대세는 쿠버네티스 [초급] - No.5 Kubernetes Overview

Somaz 2022. 8. 29. 13:20
728x90
반응형

Kubernets Overview

 

Object

 

Kubernetes는 서버 한대는 master로 쓰고 나머지는 node로 써서 연결이 된다. master는 Kubernetes 전반적인 기능들을 컨트롤하는 역할이고 node들은 자원을 제공한다. 만약, 전체자원을 늘리고 싶다면 node를 추가하면 된다.

 

그리고 Cluster안에 Namespace라는 안에 Kuberenets Object들을 독립된 공간으로 나누어 준다.

namespace 에는 kubernetes 최소 배포단위인 Pod들이 있고 pod들에게 외부로부터 연결이 가능하도록 IP를 할당해주는 Service가 있어서 연결을 할 수 있다. 그러나 서로 다른 namespace를 가지고 있는 pod들 끼리는 연결을 할 수 없다.

namespace 에는 ResourceQuota / LimitRange를 설정해서 한 namespace에서 사용할 수 있는 자원의 양을 한정시킬 수 있다.

pod의 개수를 제한 할 수도 있고, CPUMemory도 제한할 수 있다.

pod  생성 시 container 안에 환경변수 값을 넣어준다거나, 파일을 mount해줄 수 있는데, ConfigMap이나 Secret을 통해서 셋팅을 해준다.

 

pod 안에는 여러 개의 Container들이 있고,  container 하나 당 하나의 app이 동작한다. 따라서, pod에는 여러 app들이 돌아 가고 있다. 그러나, pod에 문제가 생겨서 재 생성이 되면, 그 안에 있는 Data들이 날아간다. 그래서 Volume을 만들어서 pod에 연결을 하면 Data는 이 곳에 별도로 저장을 할 수 있으니, pod가 재 생성되어도 data가 날아가는 문제를 해결할 수 있다.

 

Controller

Replication Controller, ReplicaSet이 기본적인 Controller이다. pod가 죽으면 감지해서, 다시 살려준다든지 pod의 개수를 늘리거나 줄일 수 있다. (Auto Healing / Auto Scaling)

Deployment는 배포 후에 pod들을 새 버전으로 업그레이드를 해준다. 업그레이드 도중에 문제가 생기면 Rollback을 도와준다.

DaemonSet은 한 node에 pod가 하나씩만 유지가 되도록 하게 해준다. 이렇게 사용해야 되는 module들이 있다.

Job은 특정 작업만 하고 종료시켜야 할 때, 사용을 한다. 주기적으로 사용을 해줘야 할때는 CronJob을 사용한다.

 

 

지금까지 초급편에서 배울 내용을 간단하게 정리해보았다.

 

 

 

 

 

728x90
반응형