일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Redis
- Cache
- ubuntu
- AWS
- linux
- nginx
- certbot
- wsgi
- port forwarding
- Gunicorn
- network
- docker
- web server
- https
- Troubleshotting
- Django
- Kubernates
- ssl 인증
- Was
- Reverse Proxy
Archives
- Today
- Total
Ahzick
도커(Docker)와 쿠버네티스(Kubernates) 개념 이해하기 본문
도커(Docker)와 쿠버네티스(Kubernates) 개념 이해하기
쿠버네티스(Kubernates)
- 쿠버네티스는 컨테이너화된 애플리케이션의 자동 디플로이, 스케일링 등을 제공하는 관리시스템이다.
- 여러 클러스터의 호스트 간에 애플리케이션 컨테이너의 배치, 스케일링, 운영을 자동화하기 위한 플랫폼 제공을 목적으로 한다.
- 도커(Docker)를 포함한 일련의 컨테이너 도구(tool)들과 함께 동작한다.
도커(Docker)
- 도커(Docker)는 리눅스의 응용 프로그램들을 소프트웨어 컨테이너 안에 배치시키는 일을 자동화하는 오픈 소스 프로젝트이다.
- 도커 컨테이너는 어떤 소프트웨어의 실행에 필요한 모든 것을 포함하고 감싼다.
- 컨테이너에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다.
- 따라서, 환경에 관계 없이 언제나 동일하게 실행될 것을 보증한다.
컨테이너(Container) 및 운영 체제 수준 가상화
- 정식 명칭은 운영 체제 수준 가상화(operating-system-level virtualization)이며, 이는 컨테이너(container), 소프트웨어 컨테이너(software container), 가상화 엔진(VE, Virtualization Engine), Jail이라고도 부른다.
- 컨테이너는 운영 체제의 커널이 하나의 사용자 공간 인스턴스가 아닌, 여러 개의 격리된 사용자 공간 인스턴스를 갖출 수 있도록 하는 서버 가상화 방식이다.
컴퓨터 클러스터(Computer Cluster)
- 클러스터(Cluster)는 집합이라는 의미를 가지고 있다.
- 컴퓨터 클러스터는 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합을 말한다.
- 컴퓨터 클러스터는 일반적으로 고속의 근거리 통신망(LAN)으로 연결된다.
커널(Kernel)
- 컴퓨터 운영 체제(OS)의 핵심이 되는 컴퓨터 프로그램 중 하나이다.
- 시스템의 모든 것을 완전히 통제한다.
- 운영 체제의 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공한다.
- 응용 소프트웨어와 컴퓨터 하드웨어를 연결한다.
- 보안 / 자원 관리 / 하드웨어 추상화(abstraction)의 역할을 가진다.
인스턴스(Instance) 및 가상 머신(Virtual Machine)
- 인스턴스와 가상 머신이 완전히 같지는 않지만, 개념적인 부분은 거의 같으므로 여기서는 같은 뜻으로 이해하려고 한다.
- 구글 클라우드에 의하면, 인스턴스는 Google 인프라에서 호스팅(서버 컴퓨터를 임대해 주는 것)되는 가상 머신이다.
- 즉, 인스턴스 = 비용 지불이 완료된 또는 현재 동작 중인 가상 머신(VM)
- 가상 머신(또는 인스턴스)는 컴퓨팅 환경을 소프트웨어로 구현한 것, 즉 컴퓨터를 에뮬레이션(복제)하는 소프트웨어이다.
- 가상 머신상에서 운영 체제나 응용 프로그램을 설치 및 실행할 수 있다.
정리
- 가상 머신의 스펙을 기반으로 활성화된 서버 또는 환경이 인스턴스이다.
- 이 인스턴스에는 Docker를 이용하여 만든 여러 개의 컨테이너를 집어넣을 수 있다.
- 이 컨테이너들 안에는 어떤 동작을 수행하는 어플리케이션과 그 어플리케이션이 정상적으로 작동하기 위한 환경이 같이 포장되어 있다.
- 많은 수의 컨테이너들을 좀 더 편하고 효율적으로 관리할 수 있도록 도와주는 것이 쿠버네티스이다.
References
- Wikipedia(https://ko.wikipedia.org/)
- Docker(https://www.docker.com/why-docker)
- Google Cloud(https://cloud.google.com/compute/docs/instances/)
Comments