Please assign a menu to the primary menu location under menu

Google Kubernetes – Container Cluster Manager

Update: 2015-12-06 Kubernetes? 결론부터 말하자면, Kubernetes는 구글이 자사의 Backend 부분의 Container들을 쉽게 관리하기 위해 고안 된 프로젝트라고 보시면 됩니다. 사실, 구글은 Borg라는 프로젝트를 만들어 Container를 다년간 관리 해왔는데, 이것(Borg)의 경험을 녹여 Kubernetes라는 오픈소스를 2013년에 오픈하게 된 것입니다. 관련 논문은 여기를 참고 하시면 됩니다. 오픈소스로 발표하고 나서, 마이크로소프트(MS), 레드햇, IBM, Docker, CoreOS, Meso Sphere, Salt Stack등등의 회사들이 개발에 참여하여 급속도로 빠르게 성장 하는중 입니다. Kubernetes의 주요 기능은 여러 호스트에서 Container의 응용프로그램 배포와 유지 보수, 확장을 지원 해줍니다. 또한, 현재 포스팅 내용은 Kubernetes v1.1 버전에서 테스트 및 작성 되었습니다. Architecture Kubernetes는 크게 Master 서버와 Minion 서버로 이루어져 있습니다. 1. Master – etcd CoreOS에서 만든 Key/Value

Docker – Connecting containers on multiple hosts

본 글은 Open vSwitch로 여러 호스트에 존재하는 Docker Container들을 연결 할 수 있는 방법에 대해서 작성 하였으며, 테스트 환경은 Ubuntu 14.04 LTS, Docker v1.5, Open vSwitch 2.0.2 버전에서 진행 되었으며, 기타 자세한 설정에 대해서는 생략 하였습니다. 그리고, 공통된 부분에는 root@ruo91:~# 이라는 것으로 표기 될것이며, 개별 설정인 경우에는 다르게 표기 될것 이므로 이점 유의 하시길 바랍니다.   Open vSwitch는 무엇인가? 네트워크 표준 관리 인터페이스 및 프로토콜(NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag)를 지원하면서, 프로그램의 확장을 통해 대규모의 네트워크 자동화를 가능하게 해주는 소프트웨어 입니다. 간단하게 말하자면, 하드웨어가 할일을 소프트웨어를 통해 제어 할 수 있다는 것입니다.   Architecture diagram 쉽게 설명 드리고자 간단하게 만들어

nGrinder – Enterprise level performance testing solution

nGrinder란? nGrinder는 네이버에서 성능 측정 목적으로 개발 된 오픈소스 프로젝트이며, 2011년에 공개 하였습니다. (The Grinder라는 오픈소스 기반에서 개발 되었습니다.) 성능 측정이란 것은 실제 서비스에 투입 되기 앞서, 실제와 같은 환경을 만들어 놓고, 서버가 사용자를 얼마 만큼 받아 줄 수 있느냐를 실험 할때 사용합니다. 예를들어.. 엔지니어가 동시접속자 100명 정도 쯤 무리 없겠지? 라고 예상하고 그에 맞는 서버를 준비하고 설정 했는데.. 예상치 못한 x1000 명이 더 와버리면.. 서버는 죽고 엔지니어는 야근 하겠죠..? 이런것을 미리 예측 하기 위한 도구라고 이해 하시면 됩니다. ^^; 또한, 엔터프라이즈 환경에서의 상용 성능 측정 도구를 사용 해보질 않아서 잘 모르지만, 대충 들어보니 가격이 억대라고 합니다. 그래서, 네이버가 가격 때문에도

SaltStack – IT automation infrastructure management tools

Saltstack은 수백, 수천대의 노드에 특정 명령 및 쿼리를 명령어 한번으로 실행할수 있도록 도와주는 자동화 관리 도구 입니다.   SaltStack Architecture SaltStack은 Master, Minion으로 이뤄져 있습니다. – Master Salt 명령어 실행과 상태등을 관리하는 중앙서버 입니다. – Minion Master에 대한 연결을 유지 및 명령을 기다리는 Agent라고 이해 하시면 됩니다. – Halite Saltstack을 쉽게 관리 할수 있는 WEB UI 입니다. Figure 1. Saltstack Architecture   Master와 Minion은 ZeroMQ를 통해 AES 암호화 알고리즘으로 통신을 하며, 관리자가 CUI로 salt 명령어를 통해 직접 명령을 내릴수도 있지만, Hailte를 가지고 Web UI에서 간단하게 Minion들을 제어 할수도 있습니다.   SaltStack 설치 본 설치는 Ubuntu 14.04 (Trusty) LTS에서 테스트 되었으며,

Apache Kafka – A high-throughput distributed messaging system

1. Apache Kafka? LinkedIn에서 자사의 내부 데이터 처리를 위해 개발한 대용량 분산 메세징 시스템 입니다. Kafka는 확장이 용이하고, 높은 처리량과 분산처리를 할수 있으며, In-Memory에 비해 뒤지지 않는 성능과 비휘발성으로 데이터를 디스크 저장 한다는 장점이 있습니다. Kafka를 활용하는 대표적인 기업으로는 LinkedIn, Twitter, Netflix, Tumblr, Foursquare가 사용하는 것으로 알고 있으며, 그 외에도 대용량 메세징을 다루는 기업에서 활용 중인걸로 알고 있습니다. 처리할 로그와 메세지들은 넘쳐나고, 안전을 생각하자니 In-Memory는 안될 것 같고, 디스크로 처리 하자니 성능이 발목을 잡고.. 이런 걱정 하시는 분들에게 좋은 솔루션인듯 합니다.   2. Kafka Architecture Kafka는 Producer, Broker, Consumer로 나누어져 있고, 시스템에서 발생 되는 메세지를 topic으로 분류 하고 있습니다. 이해를

1 2 3 44