쿠버네티스

김득회·2022년 2월 28일
0

Kubernetes [K8S]

쿠버네티스가 K8S인 이유는 K와 끝의 S사이의 글자가 8자리라 그렇다고 한다.
쿠버네티스 뿐만아니라 다른 용어에서도 자주 사용한다고한다.

쿠버네티스는 조타수라는 그리스 단어에서 유래되었다.
쿠버네티스는 구글에서 자사 컨테이너 운영 플랫폼으로 운영하던 보그를 기반으로 오픈소스화 하고 2015년 쿠버네티스를 출시하였다.

이 쿠버네티스라는 친구는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링, 관리해주는 오픈 소스 시스템이다.
이것을 전문용어로 쿠버네티스 오케스트레이션 시스템이라고 한다.

여기서 오케스트레이션은 복잡한 단계를 관리하고, 요소들의 유기적인 관계를 미리 정의해 손쉽게 사용하도록 서비스를 제공하는 것을 말한다.

컨테이너 오케스트레이션은 다수의 컨테이너를 유기적으로 연결, 실행, 종료뿐만아니라 상태를 추적하고 보존하는 등 컨테이너를 안정적으로 사용할 수 있게 만들어준다.

컨테이너

하나의 운영체제 커널에서 다른 프로세스에 영향을 받지 않고 독립적으로 실행되는 프로세스 상태를 의미한다.
컨테이너는 가상화 상태에서 동작하는 프로세스보다 더 가볍고 빠르게 동작한다.

컨테이너는 가상화 (VM)과 유사하지만 격리속성을 완화하여 애플리케이션 간에 운영체제를 공유한다.
때문에 가볍다고 여겨지는 것이다.

가상화 프로세스와 마찬가지로 컨테이너에도 자체 파일 시스템, CPU 점유율, 메모리, 프로세스 공간 등이 있다.

이렇게 컨테이너는 하나의 운영체제 커널에서 다른 프로세스에 영향을 받지 않고 독립적으로 실행되는 프로세스 상태를 의미하는데, 컨테이너를 중심으로 구성된 인프라 환경을 컨테이너 인프라 환경 이라고한다.

컨테이너 인프라 환경

컨테이너 인프라 환경은 크게 컨테이너, 컨테이너 관리, 개발환경 구성 및 배포 자동화, 모니터링으로 구성된다.

컨테이너 인프라 환경은 리눅스 운영체제의 커널 하나에서 여러 개의 컨테이너가 격리된 상태로 실행되는 인프라 환경을 말한다.

여기서 말하는 컨테이너는 하나 이상이 목적을 위해 독립적으로 작동하는 프로세스이다.

우선 컨테이너를 생성하고 관리하는 도구 중 대표적인 것으로 Docker가 있다.
또한 이렇게 생성된 다수의 컨테이너를 관리하고 자동배포 와 배포된 컨테이너의 동작 보증, 부하에 따른 동적 확장 기능을 쿠버네티스가 관리한다.

이렇게 도커와 쿠버네티스는 서로 한 쌍으로 생각하는 것이 좋을 것 같다.

가상화 환경에서는 각각의 가상 머신이 모두 독립적인 운영체제 커널을 가지고 있어야 하기 때문에 자원을 더 소모 해야하고 성능도 떨어질 수 밖에 없다. 하지만 운영체제 커널 하나에 여러개가 격리된 컨테이너가 실행되는 환경운 자원을 효율적으로 사용할 수 있고, 거치는 단계가 적어 속도도 빠르다고 한다.

profile
감성 프로그래머 HoduDeuk

0개의 댓글

관련 채용 정보