Rancher Load balancer

Rancher를 프러덕트에 사용한다고 가정해 보자. 가용성과 확장성을 위해서 컨테이너는 반드시 두 개 이상으로 구성이 될 것이다. 그리고 이들 컨테이너는 로드밸런서로 묶일 것이다. 대략 아래와 같은 구성이 될 것이다.이 로드밸런서는 외부에 구성 할 수 있을테고, Rancher cluster에 함께 구성 할 수도 있을 거다. 실제 인터넷 환경에서 어떻게 효율...

Docker Compose

Docker compose는 여러 컨테이너를 쉽게 실행 할 수 있도록 도와주는 도커 실행 툴이다. 이미지에서 컨테이너 하나 만들려면, 많은 옵션들을 설정해야 하는데, yaml 형식의 설정파일을 이용해서 여러개의 애플리케이션 서비스들을 효율적으로 관리 할 수 있다. 특히 Compose는 개발, 테스트, 스테이징 환경을 만드는데 많은 도움을 준다. Compos...

Rancher 소개

Rancher는 컨테이너를 배포하고 관리하기 위한 오픈 소스 소프트웨어다. 특히 컨테이너의 생명주기를 관리하는 기능이 있어서 이녀석을 사용해 보기로 했다.3개의 노드를 준비했다. 두 개 노드에는 Rancher Agent가 설치되고, 한 노드에는 Rancher Server가 설치된다. Rancher Agent Rancher Server 운영체제 Virt...

도커와 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 우분투 리눅스 서...

도커 개요

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