도커와 DevOps

컨테이너 기술이 필요한가 ? 라고 묻는 다면 마땅한 답이 생각나지 않을 것이다. 기술적으로는 "가상머신 보다 빠르게 실행 할 수 있다", "메모리와 CPU를 효과적으로 사용 할 수 있다"는 장점이 있다고 말 할 수 있겠다. 하지만 그게 그렇게 중요한 특징인가 ? 예컨데, 가상머신 기반의 시스템의 변경, 개발에서 배포 프로세스의 재 설계, 혹은 컨테이너 기반...

Distributed Operating System

SaaS와 PaaS 분야(이하 SaaS로 통일)에 관심을 가지고 있다. SaaS인프라는 두 개 이상의 컴퓨터 시스템으로 구성된 클러스터링 환경에서 작동을 한다. CPU, Memory, Disk와 같은 자원을 마치 하나의 컴퓨터인 것 처럼 통합한 후, 유저가 요청 할 때 적당한 크기의 자원을 할당해서 애플리케이션을 실행한다. 이를 위해서 1. 자원을 통합 1...

가상화와 도커에 대해서

이제 Docker는 인터넷 서비스 산언에서는 사실상 표준입니다. 간단한 개발 환경 구축에서 부터 시작해서, Docker swarm을 이용한 서비스 좀 더 나아가서 ECS와 Kubernetes와 같은 컨테이너 오케스트레이션 툴을 이용하여 컨테이너 기반의 인터넷 서비스 플랫폼을 구축/운영하기도 합니다. 몇 개의 챕터에 걸쳐서 가상화, docker에 대한 개념,...

도커 네트워크

컨테이너들은 같은 노드에 있는 컨테이너들, 다른 노드에 있는 컨테이너들과 통신을 해야 한다. 이렇게 하기 위해서는 컨테이너를 위한 네트워크를 구성해야 한다. 이 문서에서는 다양한 네트워크 구성들을 살펴볼 것이다. VirtualBox로 아래와 같은 테스트 환경을 만들었다. 1. 호스트 운영체제 즉, 개인 테스크탑 운영체제의 IP는 192.168.56.1 이...

Docker Storage

도커 스토리지를 다루기 전에 도커 이미지와 컨테이너의 관계를 살펴봐야 할 것 같다. 도커는 하나의 이미지로 부터 하나 이상의 컨테이너가 실행 될 수 있다. 하나의 프로그램 이미지(프로그램 파일)로 부터 하나 이상의 프로세스가 실행되는 것과 같은 이치다. 아래는 프로세스의 실행을 묘사한 그림이다. 프로그램에서 프로세스가 실행되지만 원본 프로그램은 변경이 되지...

Docker storage의 거의 모든 것

거의 모든 것이라고 하니 좀 너무 나간 것 같은 느낌이 든다. 그냥 이것 저것 다뤄 볼려고 한다. 다룰 내용은 다음과 같다. Docker에서 제공하는 스토리지 백앤드(backend)의 종류와 특징들 스토리지 백앤드간의 장점과 단점들 확장성 있는 스토리지 백앤드의 구성을 위한 아이디어들 테스트 환경은 다음과 같다. 개인 데스크탑 PC 우분투 리눅스 서...

도커 개요

이 문서는 도커레퍼런스가 아니다. 기본적인 이해와 사용이 가능하도록 하는데 목적이 있다. 도커는 오픈소스기반의 컨테이너 소프트웨어다. 도커 컨테이너는 애플리케이션을 실행하기 위해서 필요한 코드, 런타임, 시스템 툴, 시스템 라이브러리 등을 모두 포함한채로 배포 할 수 있다. 덕분에 컨테이너는 어떤 환경에서도 동일하게 작동한다.도커는 리눅스 운영체제에서 실행...

Container 기반 가상화 시스템에서의 Service Discovery

컨테이너(Container)를 기반 가상화 시스템이라고 해서 가상머신(Virtual machine) 기반 가상화 시스템과 다를 점은 없다. 컨테이너 가상화를 위한 네트워크, 스토리지 가상화 기술은 가상머신 가상화에서 이미 완성됐다. 단지 머신을 가상화 하느냐 하지 않느냐의 차이만 있을 뿐이다. 그러므로 컨테이너 기반 가상화 시스템을 만든다고 하면, 기존에 ...

Docker OpenvSwitch Plugin

리눅스 브릿지는 딱 브릿지만의 역할을 한다. 도커에서 기본으로 지원하는 네트워크 로 간단하게 사용 할 수 있다는 장점이 있는 반면, 할 수 있는게 별로 없다는 단점도 있다. SaaS나 PaaS 인프라를 구축 할경우 QoS(네트워크 자원 제한), ACL, SPAN 룰, 네트워크 격리 등이 필요한데, 할 수가 없다. 결국 OVS를 이용해야 한다. 도커 1.11...

도커와 가상화

베어메탈(bare metal), 가상 머신 기반의 가상화(Virtualization) 과 비교해서 컨테이너 기술을 설명한다. 이들 기술과 비교해서 컨테이너 기술이 가진 특징이 무엇인지, 어떤 장점때문에 컨테이너 기술을 사용하는지 그리고 어떤 단점을 가지고 있는지 살펴 본다.하드웨어를 다루는 엔지니어가 아닌 소프트웨어 개발자에게 베어메탈이란 다소 생소한 용어...