Backend/Docker

Backend/Docker

[Kubernetes] Kubernetes (K8s)란?

컨테이너 오케스트레이션 컨테이너의 배포, 관리, 확장, 네트워킹을 자동화하는 것. 재설계할 필요 없이 각기 다른 환경 전반에 동일한 애플리케이션을 배포하는 데에도 도움이 된다. Kubernetes 쿠버네티스는 컨테이너화된 애플리케이션의 자동 디플로이, 스케일링 등을 제공하는 관리시스템으로, 오픈소스 플랫폼이다. 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 쉽게 확장할 수 있다. 쿠버네티스는 또한 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다. 기본 개념 쿠버네티스에서 가장 중요한 것은 desired state 라는 개념이다. 쉽게 말해 사용자가 원하는 서비스, 네트워크 상태를 의미 한다. 얼마나 많은 컨..

Backend/Docker

Container와 VM 비교

컨테이너와 가상머신 비교 요약 가상 머신(VM)은 서버 하드웨어를 가상화(또는 직접 관리할 필요성을 제거)하는 반면, 컨테이너는 서버의 운영 체제를 가상화한다. Docker는 컨테이너를 위한 운영 체제(또는 런타임)이다. 컨테이너를 실행하려는 각 서버에 Docker Engine이 설치되어 컨테이너를 구축, 시작 또는 중단하는 데 사용할 수 있는 간단한 명령 세트를 제공한다. 가상머신 Host: 가상 시스템 호스트 서버이며 처리 능력, 메모리, 디스크 및 네트워크 I/O 등과 같은 컴퓨팅 리소스를 제공하는 기본 하드웨어. GuestOS: 운영 체제 및 애플리케이션 소프트웨어의 완전히 별개의 독립적 인스턴스. 호스트 VM에 상주하고 해당 서버의 컴퓨팅 리소스에서 공유하는 가상 워크로드. Hypervisor:..

Backend/Docker

Docker란

Docker 란? 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트. Docker는 컨테이너를 위한 운영 체제(또는 런타임)이다. 컨테이너를 실행하려는 각 서버에 Docker Engine이 설치되어 컨테이너를 구축, 시작 또는 중단하는 데 사용할 수 있는 간단한 명령 세트를 제공한다. 구조 도커는 클라이언트-서버 아키텍처를 사용한다. Docker 클라이언트는 Docker 데몬과 REST API를 사용하여 UNIX 소켓 또는 네트워크 인터페이스를 통해 통신한다. Docker 데몬은 Docker 컨테이너를 빌드, 실행 및 배포하는 무거운 작업을 수행한다. 도커 데몬 Docker API 요청을 수신하고 이미지, 컨테이너, 네트워크 및 볼륨과 같은 Dock..

Backend/Docker

[Docker] container

컨테이너 기술 발전 전통적인 어플리케이션 배포 방식 (Traditional deployment) 서버에 의존성(라이브러리, 프레임워크)를 설치하고 그 위에 어플리케이션(바이너리, 코드)를 배포해서 실행함. 근데 규모가 커지고 운영하는 서비스가 많아지게 되면 같은 서버에서 여러개의 어플리케이션을 돌리는 경우가 생긴다. 이들의 어플리케이션은 서로 다른 각각의 의존성을 가질 수 있고, 그 과정에서 동일한 의존성을 가지지만 다른 버전을 설치해야하는 경우도 있다. 이 때, 한 서버에 다른 버전을 설치하는게 좀 귀찮고 효율성도 낮고 확장성도 낮아진다는 문제가 생긴다. => 어플리케이션을 sandboxing 하고자 했음. 어플리케이션과 의존성을 하나의 샌드박스(독립된 공간)로 묶어버리면 같은 서버 내에서 서로 영향을..

얌얌념념
'Backend/Docker' 카테고리의 글 목록