목록Docker (22)
Connecting
왜 Harbor를 도입했는가? Docker를 사용하다 보면 Docker Registry가 반드시 필요하다. 특히나 기업 혹은 본인 연구실에서는 관련 서비스를 Docker 전환이 진행하고 있는 과정에서 Private Docker Registry는 반드시 필요하다고 할 수 있다. 기존에서는 Sonatype nexus를 사용했으나 maven, npm 등 사설 레지스트리로 사용하는데 충분하지만 Docker로 사용하기 위해서는 https 사용할 수 없어 추가적인 설정이 필요했기 때문에 계속해서 사용하기 에는 적합하지 않다고 판단하였다. 사실상 Docker Hub를 사용하면 간단하게 문제를 해결할 수 있겠지만, 무료로 사용하기 위해서는 public으로 공개해야 하는 점, private로 사용할 경우 추가적인 비용을..
본 문서는 완벽한 IT 인프라 구축의 자동화를 위한 Kubernetes 책의 내용을 일부 발췌하여 작성한 글입니다. 글의 이해도를 높이기 위해서는 본 책을 구매해서 내용을 학습하는 것을 추천합니다. 책의 링크와 소스코드는 아래에 공유해드리도록 하겠습니다. 개발환경 OS : MAC OS 필수 프로그램 : Docker, minikube IDE : Visual Studio Code VCS : GIt 소스코드 필자의 글에서 자세한 내용은 전부 설명하겠지만 소스코드가 필요한 경우에는 소스코드를 다운로드하여서 실습을 진행하길 바란다. 책 소스코드 : https://github.com/ToruMakabe/Understanding-K8s 필자 소스코드 : https://git.wisoft.io/seongwon/kube..
2020년 애플리케이션을 디플로이할 때 Docker를 활용하는 일은 당연한 일이 되어가고 있다. 본문에서는 Docker가 무엇인지 어떻게 사용하는지에 대한 설명을 다루는 것이 아닌 Docker를 활용해 데이터베이스를 초기화 방식에 대해서 알아보도록 하는 시간을 가진다. Docker에 대한 기본 지식은 필자 블로그에 설명했기 때문에 Docker가 무엇인지, 활용하는지에 대한 방법을 잘 모른다면 글을 읽어보고 오는 것을 추천한다. 환경 Docker를 사용하는 사람이라면 윈도우보다는 Linux, MacOS에서 매끄럽게 동작한다는 사실을 알고 있을 것이다. 윈도우도 예전보다 좋아지긴 MacOS 카탈리나에서 실습을 진행했음을 밝힌다. Docker 데이터베이스 SQL PostgreSQL, MySQL이든 Docker..
지난 시간에는 Kubernetes를 이해하기 이전에 컨테이너 기술이 무엇인지?, kubernetes의 이해, GCP를 활용해서 간단한 애플리케이션을 운영해 보았고, 온프레미스 환경에서 설치하는 스크립트를 업로드했다. 이번 시간에서는 Kubernetes를 운영하기 위해서 필요한 기본 사용법에 대해서 서술하도록 하겠다. Overview kubernetes에서는 기본적으로 kubectl 명령어를 사용한다. 기본 명령어를 통해서 CLI에서 대부분의 조작이 가능하기 때문에 기본 명령어에 대한 숙지는 필수적이라고 할 수 있다. $ kubectl kubectl controls the Kubernetes cluster manager. Find more information at: https://kubernetes.io..
nGrinder는 네이버에서 서버 성능 측정을 목적으로 개발한 오픈소스 프로젝트이다. 실제 서비스를 시작하기 전에 서비스의 부하 테스트를 위함으로, 실제 서비스 이전에 어느 정도의 부하를 견딜 수 있는지에 대한 목적을 두고 있다. nGrinder는 Controller와 Agent로 구분되어 있는데, Controller는 웹UI와 에이전트에게 명령을 전달하고 이에 대한 결과를 수집하는 역할을 담당하고, Agent는 Controller부터 수신된 정보를 해당 서버에 가상 유저를 생성하여 부하를 발생시킨다. 물리 머신에서 설치하기 위해서는 자바를 비롯한 각종 의존성 파일을 설치해야 하기 때문에 Docker를 사용하여 설치하도록 한다. nGrinder Controller $ docker run -d -v ~/n..
개인적으로 만들기 시작한 유병재 홈페이지를 Docker로 만들어서 올렸다. 지금까지는 로컬 머신에서 시행하고 있는데 차후에는 Docker를 활용해서 개발을 지속해 나갈 생각이다. 개인의 재미로 시작했으나 조금이나마 나에게 도움이 되고, 실제 페이지를 운영하면서 인프라 운영자로서 나의 능력을 시험하고자 하는 성향도 강하기에 이번에 시작하는 프로젝트는 재밌기도 하고 떨리기도 한 것이 사실이다. 이번 버전에서는 부트스트랩을 사용했다는 것에는 변함이 없으나 디자인 개선과 기능 추가 등이 있었고 개발 입장에서는 구글 애널리스틱 추가, kibana 연동하여 홈페이지 유입자 분석 및 서버 모니터링 기능을 추가하였다. 인프라 개발자가 갑자기 홈페이지를 만드려고 하니 어려운게 사실이기는 하지만, 뭔가를 직접 만들어 보고..
개인적으로 유병재를 참 좋아한다. 거의 모든 행사를 졸졸 따라다닐 만큼.. 벌써 팬이 된 지 1년이 넘었고 본인은 한밭대학교에서 석사를 진행하면서 내가 해야 하는 연구와 일은 유지하면서 덕질을 진행한다는 것이 참으로 어려운 일이기도 한다. 나 자신으로 개발자라고 말하면서 다니지만 생각해보면 진짜 내가 개발자인지 고민이 되는 순간이 있다. 그런 느낌이 드는 순간마다 내가 해야 하는 일을 더 열심히 하면서 쉬는 날에는 유병재 오프라인 행사를 따라다니는 편인데 사실 내가 홈페이지를 직접 제작하거나 백엔드를 하는 사람이 아닌 인프라를 공부하는 사람이기에 사람들에게 보이는 무엇인가를 만들 수 있는 능력이 부족하다는 단점이 있다. 다들 모두의 자리에서 묵묵히 최선을 다하겠지만.. 하는 일이 드러나지 않지만 가장 기..
ELK Docker 설치 방법 ELK는 Elasticsearch, Kibana, Logstash 세 가지의 오픈소스 프로젝트의 약자로, 각 제품이 연동되어 데이터 수집 및 분석도구로 많이 사용되고 있다. 필자가 다니고 있는 연구실에는 ELK를 활용하여 모든 서버의 로그기록과 서비스 메트릭 정보를 수집하여 활용하고 있다. Docker를 사용하지 않는다면 복잡한 방법으로 설치를 진행했겠지만 연구실에 Docker 서비스가 정상적으로 정착된 상황에서는 90% 이상의 서비스들이 Docker 환경에서 운영되고 있으며, 대부분의 프로젝트 역시 Docker로 빌드하여 사용하고 있다. 이번 시간에는 ELK를 Docker Compose 파일을 통해 설치하고, 운영하는 방법에 대해서 알아보도록 한다. 설치하고자 하는 서버에..
Mattermost 설치 및 운영하기 Slack의 강력한 대체제로 불리는 Mattermost는 온프레미스 환경에서 설치하여 운영할 수 있는 오픈소스 팀 채팅 프로그램이다. 다른 오프소스 채팅 프로그램으로서 Rocket.Chat과 Zulip이 있으나 Mattermost는 기업에서 사용할 수 있도록 최적화된 팀 기반 채팅 프로그램이라고 할 수 있다. 대표적으로 삼성, 미국 사회보장국, 우버에 이르기까지 각종 정부기관과 금융기간까지 사용하기 때문에 팀 기반의 개발 업무 프로세스에 있어서 어떠한 플랫폼 결정을 고민 중이라면 Mattermost을 선택하는 방안도 적극 검토할 필요가 있다. 정부나 기업에서 Mattermost를 선택하는 이유는 보안에 대한 이유를 들 수 있다. Slack의 경우 온프레미스 환경에 설..
GCP를 활용한 K8s Application GCP는 Google Cloud Flatform으로 아주 간단하면서 다양한 애플리케이션을 실습해서 사용할 수 있다. 최초 가입 시 300달러 안에서 12개월 동안 무료로 제공되며, 일부 조건이 충족한다면 평생 무료로 사용할 수 있는 플랜도 있기 때문에 기본적인 테스트 및 개발 용도로는 충분히 사용할 만한 가치가 있다. NOTICE 본 문서는 GCP에 공식 Documents에 나오는 내용을 가지고 실습하는 내용이므로, 추가적으로 궁금한 내용이 있다면 링크를 클릭하여 내용을 추가적으로 확인할 것을 권장한다. First K8s Application Deploy Google Cloud Flatform에 접속하여 회원가입을 진행하고 프로젝트를 생성하면. 다음과 같은..