본문 바로가기

Docker

[Kubernetes, Docker] Go 언어로 Tiny Web Server 만들고 docker hub에 공유하기 최근 Containter Orchestration 관련된 작업을 진행하고 있는데, 초기 테스트 수준의 클러스터 구성이나 솔루션의 기능 확인/검증시에 사용할 Web Server 기능을 하는 컨테이너를 주로 nginx 베이스 이미지를 사용 하고 있는데, 특정 용도에 맞게 html 파일을 수정해 주어야 하는 등 귀찮은 일 들이 많다. 도커 이미지 크기도 100MB 이상이어서 생각보다 크고... 그래서 생각한 것이 "내 맘대로 주무를 수 있는 컨테이너형 작은 웹서버" 를 만들고 언제든 사용할 수 있게 해 보자는 생각이 들었다. 어떻게 하면 작고 가벼운 웹서버를 만들고 필요할 때 언제든 사용할 수 있는가? 베이스 이미지가 작아야 하므로 busybox 이미지를 쓴다(1 MB +) 웹서버의 하위 페이지에 따라 특정 .. 더보기
Open vSwitch, VxLAN을 이용한 분산 Docker 컨테이너 간의 네트워크 연결(2/2) - 전편에 이어서 - 이번에는 아래 그림에서와 같이 L3 network로 연결된 Docker 호스트간 L2 통신 방법(2)에 대해 다룬다. 네트워크가 다른 2개의 호스트 사이에 인터넷이 있든, 여러 개의 라우터가 존재하든, 호스트간의 연결이 가능하다면 이 방법을 쓸 수 있다. 예를 들어 아마존 AWS의 가상머신과 사무실의 인터넷이 연결된 Docker 호스트 내부의 Docker 사이의 연결도 물론 가능할 것이다. 사전 준비라우터로 연결된 서로 다른 네트워크를 가지는 Docker Host(VM) 2대Docker Host #1: CentOS 7.3 Minimal Server(1611 ver), 10.255.20.10/24Docker Host #2: CentOS 7.3 Minimal Server(1611 ver.. 더보기
Open vSwitch, VxLAN을 이용한 분산 Docker 컨테이너 간의 네트워크 연결(1/2) 제목이 다소 길지만 앞으로 2회에 걸쳐서 정리할 내용은 Open vSwitch의 VxLAN 터널링을 이용하여 L2 network로 연결된 Docker 호스트의 Docker 컨테이너간 L3 통신 방법(1)과, L3 network로 연결된 Docker 호스트간 L2 통신 방법(2)에 대해 다루고자 한다. 본 1편에서 다루고자 하는 내용을 그림으로 나타내면 다음 그림과 같다. 도커/컨테이너에 대한 기본적인 개념 설명은 여기서는 다루지 않으며, 이후에 도커의 네트워크에 대해 간략히 따로 다룰 예정이다. 그림을 보면, 2개의 호스트가 Flat한 L2 Network로 연결되어 있고(SDN: Software-Defined-Network 개념으로 보면 Underlay) 각각의 호스트 내에 Docker Container.. 더보기
[OpenShift v3 #3] Origin 3-node, CentOS 7 기반 3노드 설치, 사용 방법(3/3) 2회(#2/3) 에서 이어지는 내용이다 GitHub 를 사용한 개발과정 맛보기 #2 - WordPress Sample & MySQL(PHP)이번에는 OpenShift GUI Console 이 아닌 명령어 방식으로 oc(OpenShift Client)를 사용해 보겠다. Master Node로 ssh 로그인을 하고 새로운 프로젝트를 생성한다. OpenShift Console에서 실시간으로 확인 가능하다 GitHub.com의 Wordpress project URL(https://github.com/DragOnMe/WordPress.git)을 복사한다 oc 명령으로 php:latest 도커이미지와 WordPress 소스 repository를 지정하여 새로운 App 서비스를 프로젝트에 추가한다. 진행 상황은 텍스.. 더보기
[OpenShift v3 #2] Origin 3-node, CentOS 7 기반 3노드 설치, 사용 방법(2/3) 지난 회에서 OpenShift Origin v3의 단일서버 구성 설치와 간단한 사용법을 정리하였다, 이번 회에서는 3-노드 구성의 OpenShift v3 설치 과정과와 Kubernetes, OpenShift console 및 CLI를 통한 Orchestration과 몇가지의 Use Case를 정리해 두고자 한다(이 글을 마지막으로 업데이트하는 시점에 OpenShift 릴리즈가 1.5.0으로 바뀌었다. 아래 설정 파일에서 v1.5.0으로 표시된 부분 참고=>1.5.0에 버그가 아직 많아 보이고, 결정적으로 1.5.1이 나온 시점에 docker 기반 설치에 오류가 발생하여 1.4.1 버전 기준으로 긴급히 되돌림 2017-05-27). 사전 설정(Pre-requisites)서버 구성(권장 최소 스펙) - OS.. 더보기
[OpenShift v3 #1] Origin all-in-one, CentOS 7 기반 단일서버 설치, 사용법(1/3) OpenShift 를 설치 하기위한 구성은 싱글 서버(All-In-One)부터 10대 이상의 구성까지 다양하다. 이번 포스팅에서는 단일서버에 OpenShift 를 설치하는 과정을 기록하고 관리하도록 한다. OpenShift 는 v3로 넘어오면서 Kubernetes 의 Container, Storage, SDN 오케스트레이션을 완성도 있게 구현하여, 한층 단순하고 안정적으로 다룰 수 있게 되었다. 즉 기존의 Gear/Broker/Cartridges 의 생소한 개념들을 걷어내고 Docker/Kubernetes/Docker Images 개념으로 재정립하여 구조적으로 간단해지고, 널리 알려진 인프라 기술이 적용되었으며, 더 나은 UX를 제공하게 된 것이다. 최근에 들어서 기존의 rpm 설치 방식을 간결하게 만든.. 더보기