본문 바로가기

Programming/Cloud

DAY 172. 쿠버네티스(Kubernetes)

 

https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/

 

쿠버네티스란 무엇인가?

쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하

kubernetes.io

 

 

쿠버네티스(Kubernetes)

 

표준으로 사용되고 있는 컨테이너 오케스트레이션 도구

구글에서 2014년에 만들어서 오픈소스로 공개했다.

여러 대의 도커 호스트를 하나의 클러스터로 만들어준다.

세부적인 기능을 폭넓게 제공하여 서비스 운영단계에서 많이 쓰임

여러 서버의 자원을 클러스터링해서 컨테이너를 배치하는 것이 핵심 기능이다.

다른 오케스트레이션 툴 보다 구조가 복잡하고 익히는 데 다양한 지식을 필요로 한다.

 

- 컨테이너를 효율적으로 배포,관리해주고 여러 기능을 제공하는 Tool

- 여러 대의 PC를 하나의 도커를 쓰는 것처럼 관리해주는 기능 + 여러 기능

- 잘 못 사용하면 오버 엔지니어링이 될 수 있다.

- 실제 내가 운영하는 서비스가 쿠버네티스에 적합한지, 운영하는 인력이나 비용이 조직 규모에 적합한지 충분히 검토하고 적용해야 한다.

(ex. 비교적 간단한 서비스: 도커 스웜(Docker Swarm), 아파치 메소스(Apache Mesos))

- K8S 라고도 표기한다.

 

 

 

https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0

 

컴퓨터 클러스터 - 위키백과, 우리 모두의 백과사전

컴퓨터 클러스터(영어: computer cluster)는 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합을 말한다. 클러스터의 구성 요소들은 일반적으로 고속의 근거리 통신망으

ko.wikipedia.org

 

https://www.redhat.com/ko/topics/containers/what-is-a-kubernetes-cluster

 

쿠버네티스 클러스터(Kubernetes cluster)의 개념, 구성 및 관리

쿠버네티스 클러스터란 컨테이너화된 애플리케이션을 실행하는 노드를 뜻하며, 온프레미스, 하이브리드 클라우드 등을 위한 쿠버네티스 클러스터 관리 방법을 설명합니다.

www.redhat.com

 

https://www.redhat.com/ko/topics/automation/what-is-orchestration

 

오케스트레이션이란?

오케스트레이션은 컴퓨터 시스템과 애플리케이션, 서비스의 자동화된 설정, 관리, 조정을 의미합니다. 오케스트레이션은 IT 자동화 프로세스를 지원합니다.

www.redhat.com

 

 

 

쿠버네티스 특징

1. 모든 리소스를 오브젝트 형태로 관리한다.

 

 

 

2. 선언형 설정 : YAML 파일에 선언해서 파일 내용을 읽어서 원하는 오브젝트를 만들 수 있다.

 

여러 개의 클러스터로 만들 때, 하나의 각 PC를 노드라고 부르는데

쿠버네티스는 마스터 노드(스케줄링하는 노드), 워커 노드(컨테이너들이 올라가는 노드) 로 구분한다. 

하나의 PC에서 사용할 때는 해당 PC가 마스터 노드이자 워커 노드가 된다.