'쓸만한' Docker Image 만들기 - Part 2
Build and Push a Docker Image For Go Development
“Hello World 급” Image 작성을 맛봤던 “Docker: 나의 첫 Docker Image”, 그리고
Alpine Linux를 활용하여 C Library를 포함한 “운영체계급” 기반 Image를 만들었던
‘쓸만한’ Docker Image 만들기 - Part 1에 이어, 이번에는 실제 사용을 고려한
Go 언어 개발환경을 위한 Docker Image를 만들고 그것을 Registry에 등록하는
과정을 정리한다.
'쓸만한' Docker Image 만들기 - Part 1
Build an Usable Docker Image with Alpine Linux
설날 연휴가 시작되기 전, Docker: 나의 첫 Docker Image라는 글을 통해 아주
기본적인 Docker Image를 만들어서 그것을 기반으로 Container를 실행하는 예에
대한 글을 올렸다. 이번에는, 예시가 아닌 실제로 활용할 수 있는 Image를 만들고
그것을 Docker Registry에 등록하는 과정에 대하여 기록하려고 한다. 이 글에는
그 과정 중, Alpine Linux를 기반으로 Docker Image를 만드는 과정을 담았다.
Docker: 나의 첫 Docker Image
Build and Push my own Docker Image
프로그램이 메모리에 올라와 제어를 넘겨 받으면 프로세스가 되고, Disk 위의
Kernel Image가 메모리에 올라오면 컴퓨터가 살아난다. 이렇게, 컴퓨터 세상은
깨어 있는 무언가와 그것을 뒷받힘하는 자고 있는 무언가의 쌍으로 이루어져
있다. Docker 역시 이 프랙털 안에 있는데, 메모리에 올라와 깨어 움직이는
Container와, 이것이 본으로 삼는, 저장소에서 잠을 자는 Image가 그것이다.
이 글은, Container의 본이 되는 Image를 만들고 저장하는 방식에 대하여
정리한다.
Docker: Installation and Test Drive
Utuntu 위에 Docker 설치하고 맛보기
Docker는 Linux 위에서 동작하는 Container 관리 소프트웨어다. 지난 글
Docker: Getting Started with Docker에서는 Container와 Docker의 개념을
간단히 정리했고, 이번 글에서는 Ubuntu Linux 위에 Docker를 설치하고
시운전을 해본 내용을 정리하려고 한다.
Docker: Getting Started with Docker
Docker 시작하기
예상하지 못했던 여유가 생겨서, 미루고 또 미뤘던 주제를 하나 정리하려고 한다.
이미 많은 사람들에게 친숙한 기술용어가 되어버린 Container, 그리고 그 시대를
이끌고 있는 대표주자인 Docker가 그것인데, 이번 글에서는 Docker의 개념에
대하여 대충 정리하고, 다음 글에서는 Ubuntu 환경에서 Docker를 설치하여 맛을
보는 과정을 짧게 정리하려고 한다.
돌아보기: 가상화와 클라우드 컴퓨팅
Look back: About Virtualization And Cloud Computing
희미한 기억 속에 남아있는 2009년의 기록, 가상화와 클라우드 컴퓨팅에 관하여.
아마, 한참을 “우리도 가상화와 클라우드 세상을 겨냥한 사업을 해야 한다”고
주장하던 시기에 작성했던 글인 것 같다. 당시 어느 기관지에 기고했던 글의
초안인 것도 같고.
Vyatta 네트워크 문제 추적 Part 3 - DUMP
tcpdump를 이용한 거대 Dump의 효율적인 분석방법
네트워크와 관련된 문제를 분석할 때 Packet을 Capture해서 분석하는 것 만큼
효과적인 방법이 있을까? 이 글의 소재가 되는 (제목이 아직은 잘못 붙여진)
“Vyatta Network Interface Down Issue” 역시, 결과적으로는 통신 내용을
확인하는 Packet Dump 분석을 통해 증상이나마, 증상이나마 확인할 수 있었다.
Vyatta 네트워크 문제 추적 Part 2 - LACP
Vyatta의 LACP 단절 문제에 대한 Work Around
상용 제품의 한계로 인하여, 내게는 매우 중요한 문제이고 빠른 해결을 바라고
있지만 그것을 내가 어떻게 할 수 없는 경우가 있다. 바로 지금이 그런 상황인데,
이렇게 문제의 핵심에 접근하는 것이 제한적이거나, 원인을 정확히 알 수 없는
경우, 또는 원인을 안다 해도 근원적인 해결방법을 찾을 수 없을 때 우리가 할
수 있는 최선은 우회경로(Work Around)를 찾아 문제를 피하는 것이다.
Vyatta 네트워크 문제 추적 Part 1
로그, 상태, 패킷 자료를 바탕으로 네트워크 관련 문제 추적하기
2018년의 첫 글은 2017년의 마지막 사건으로 시작하려고 한다. 이 마지막 사건을
“Vyatta Network Interface Down Issue“라는, 알고 보면 문제를 정확하게
기술하지 못하는, 잘못된 제목으로 일단 부를 것이다.
아무튼 (사건의 제목이 맞든 틀렸든) 어떤 프로젝트의 Vyatta 네트워킹에 문제가
발생했고, 이 글은 이차 저차 내게 넘어온 이 “네트워크 관련 문제”를 정확하게
파악하기 위한 추적 과정을 정리하는 글이다.
Kibana Heat Map으로 3차원으로 펼쳐 보기
Elastic Stack을 활용해서 서비스 이벤트 해석하기
“모니터링은 경보가 아니라 해석“에서 들었던 기존 모니터링의 문제점 중
하나는 시계열 데이터를 효과적으로 다루지 못한다는 점이었다. 이 문제는,
데이터를 단순히 시간순으로 배열하는 것으로 그치는 문제와, 시간을 단순히
1차원으로만 본다는 점을 포함한다. 특히, 시간은 바라보는 기준이 될 뿐
우리가 관심을 갖는 것은 주기성과 리듬을 갖는 인간활동과 연관된 것이기
때문에 과거의 기록을 바탕으로 미래를 예측하기 위해서는 시간과 사건을
입체적으로 바라보는 것이 필요하다.
Kibana Visual Builder로 이벤트 묶어 보기
Elastic Stack을 활용해서 서비스 이벤트 해석하기
앞선 글 “모니터링은 경보가 아니라 해석“에서, 기존 모니터링 환경의 한계
중 하나로 “기능 단위의 고립”과 “서비스 관점의 통찰 부재”를 들었다. 개별
구성요소에 대한 모니터링도 중요하지만, 거기서 멈추지 말고 그 요소들이
궁극적으로 이루게 되는 “서비스”와 사건들의 연관 관계, 인과 관계에 대한
분석이 사건을 해석하는데 매우 중요하다는 것을 강조하기 위함이었다.
이 글에서는, Elastic Stack, 특히 Kibana에서 서로 다른 원천으로부터
수집된 데이터를 엮어서 표현하기 위한 기법 중 하나를 정리하여 기록하려
한다.
모니터링은 경보가 아니라 해석
Elastic Stack을 활용해서 서비스 이벤트 해석하기
사실, 나를 아는 사람들은 믿지 않을 수도 있지만, 나는 조금 강하게 말해서
운영관점의 모니터링에 대하여 매우 회의적이다. 거의 무용론자에 가깝다.
그럼에도 불구하고, 모니터링을 매우 좋아하는데, 그것은 내가 바라보는
모니터링은 문제가 발생한 것을 확인하는 모니터링이 아니라 지속적으로
대상의 꼴을 파악하고 그것이 말하는 바를 읽어내기 위한 분석시스템으로
바라보기 때문이다.
Elastic Stack 6.0 설치하기
Elastic Stack을 활용해서 서비스 이벤트 해석하기
서로 독립적인 버전체계를 사용하면서 개별 제품의 연합군 같은 느낌이 더 강했던
ELK Stack, 즉 Elasticsearch, Logstash, Kibana는 이제 버전체계를 통일하고
Elastic Stack이라는 공식적인 명칭으로 사용하면서 더 활발하게 시장 공략을
하고 있는 것 같다. 이 글은, 지난번 소개했던
“Elastic NMS Part 1: 엔진을 켜라!“의 업데이트 성격의 글로, Elastic Stack의
현재 버전인 6.0 버전에 대한 설치과정을 정리한 것이다.
Elastic NMS Part 6: SNMP 수신하기
Elastic Stack을 바탕으로 NMS 만들기
“아, 이건 기록을 안 해뒀네…” 하면서 그냥 잊으려 했는데, 메모를 정리하다가
발견해버렸다. ㅠ.ㅠ Elastic Stack으로 NetFlow와 SNMP 모니터링을 구성했던
이야기. NMS라고 하면서 SNMP와 NetFlow를 빼면 좀 섭하지… 했다가, 귀찮지만
닫았던 묶음글을 다시 열어서 마지막으로 이번 이야기, NetFlow와 SNMP 모니터링
하기를 더 넣는다. 이번엔 SNMP로 정말 끝!
Elastic NMS Part 5: NetFlow 수신하기
Elastic Stack을 바탕으로 NMS 만들기
“아, 이건 기록을 안 해뒀네…” 하면서 그냥 잊으려 했는데, 메모를 정리하다가
발견해버렸다. ㅠ.ㅠ Elastic Stack으로 NetFlow와 SNMP 모니터링을 구성했던
이야기. NMS라고 하면서 SNMP와 NetFlow를 빼면 좀 섭하지… 했다가, 귀찮지만
닫았던 묶음글을 다시 열어서 마지막으로 이번 이야기, NetFlow와 SNMP 모니터링
하기를 더 넣는다. 그 중 NetFlow 먼저.