Development Experience/*Ops (10) 썸네일형 리스트형 Docker Swarm을 띄워보았다 회사에서 Kubernetes 대신 Docker Swarm으로 Orchestration을 하기로 결정되었다. 상대적으로 시간이 여유로운 내가 Docker Swarm을 담당하게 되었다. 여러개의 프로젝트를 Docker Swarm 환경에 띄우면서 겪은 삽질을 기록겸 공유겸 남겨둔다.. #00. 순서 1. docker-compose.yaml 파일로 Docker Image를 BUILD 2. Docker Swarm Manager, Worker 등록 3. Docker Swarm Manager Node에서 Private Repository 구동 4. docker stack deploy 명령을 통해 Docker Swarm 상에 Docker Image들을 구동 #01. docker-compose.yaml 파일로 Docke.. Docker Swarm vs Kubernetes (feat. Container Orchestration) 이 글은 IBM의 Docker Swarm vs. Kubernetes: A Comparison을 읽고 정리한 글입니다. Container Orchestration을 하려면 Docker Swarm과 Kubernetes 중 어느 것을 사용하는 게 좋을까? 우선 Container가 뭔지, Container Orchestration이 무엇인지 정리하고 넘어가자. Container는 우리가 배포하고자 하는 서비스 프로그램(app)과 이 프로그램이 의존하고 있는 모든 의존 프로그램들(dependencies)을 패키지 형태로 묶는 방법을 말한다. 이렇게 프로그램에 필요한 모든 것을 하나의 패키지로 만들면 언제 어디서든 그리고 docker를 지원하는 어떤 Runtime 환경에서든 프로그램을 실행시킬 수 있다. Conta.. 도커라이징(Dockerizing) 이란? 도커 관련 업무를 시작하면서 "도커라이징"이라는 용어를 알게 되었는데 한국어로 된 설명이 마땅히 없어서 잠시 끄적여본다.. 이 글에 따르면 도커라이징(Dockerizing)은 Docker 컨테이너를 사용하여 응용프로그램(application)을 패킹(packing), 배포(deploying), 실행(running) 하는 전 과정을 말한다. 한 마디로 우리가 작업하던 Docker 관련 일들이 모두 도커라이징 과정의 일부라고 보면 된다. Docker 관련 글 모음 1. Docker 컨테이너 자세히 뜯어보기 컨테이너 자세히 뜯어보기 Container 내부가 궁금해서 뜯어보았습니다. | 컨테이너의 시대 최근 쿠버네티스에 대한 관심이 높아지면서 컨테이너를 사용하는 기업들이 점차 늘어나고 있습니다. 컨테이너는 독립적인 공간을 brunch.co.kr Docker 관련 검색을 할 때 Docker가 Linux의 namespace, cgroup 기능을 이용하여 컨테이너를 관리한다는 글을 종종 보았었다. 하지만 Linux 내부 구조를 잘 아는 것도 아니고 Docker 입문자로서 기능 숙지에 중점을 두고 공부했었기에 namespace, cgroup을 어떻게 활용한다는 건지는 잘 몰랐었다. Docker 기본 기능에 대한 숙지가 끝난 지금, Docker의 내부 구조에 대해 좀 더 파보.. Rocky OS selinux 무한 재부팅 # 오류의 발견 2일 연차 사용으로 9일을 쉬었던 기적의 설 연휴가 지나고 월요일 출근을 맞이하였다. 회사에 적응하기 위해 잠시 멍을 때리고 있었는데 선임님이 나를 부르셨다. 요지는 지난 주 회사 전기가 나가는 상황이 발생하였고, 왜인지 모르겠지만 그 이후부터 인프라 담당 서버께서 무한 재부팅을 하고 계시니 이를 해결해보라는 퀘스트였다. 우리 팀은 새로운 프로젝트를 진행하기 위해 공용 인프라 서버를 가상으로 띄워둔 상태였다. 가상화 소프트웨어는 VMWare ESXi, OS는 Rocky OS 8.5를 사용하고 있고 이 위에 Docker로 MongoDB, MariaDB, Redis, RabbitMQ를 서비스 중이었다. putty 접속이 되지 않았기 때문에 VMWare의 터미널로 인프라 서버에 접속하니 아래와.. GCP(Google Cloud Platform)와 MLOps ※ 이 글은 "MLOps: Big Picture in GCP"를 참고하여 작성되었습니다. GCP(Google Cloud Platform)이란 아마존의 AWS, MS의 Azure와 같은 퍼플릭 클라우드 서비스이다. GCP에서는 단순히 저장 공간과 연산 능력을 제공하는 서비스 이외에도 Machine Learning을 위한 MLOps 인프라도 있는데, MLOps의 각 영역에 특화된 여러 개의 서비스는 다음과 같다. 1. GKE(Google Kubernetes Engine) Kubernetes를 한번 wrapping하여 사용자가 Kubernetes의 세세한 설정(how it works)을 신경쓰지 않고도 Kubernetes의 전반적인 동작(what it does)을 제어하는 서비스이다. 2. Kubeflow G.. SonarQube 라이센스 구입기 회사에서 사용할 SonarQube 라이센스를 구입하는 과정을 기록한 글입니다. 우선, SonarQube의 라이센스 정책은 다음과 같습니다. (참고: https://www.sonarqube.org/downloads/) 각 Edition 별로 지원하는 언어와 기능이 다르고, Community 버전의 경우 무료로 다운로드 가능합니다. 저희 회사는 Community Edition에서 C#을 지원하지만, C++는 Develop Edition에서만 지원하기 때문에 Developer Edition License를 구입해야 했습니다. 라이센스를 구매하기 이전에 Trial 버전을 사용해보고자 위 화면에서 "Request a Free Trial"을 클릭 후 간단한 인적 사항을 기록했습니다. 위의 인적 사항을 입력한다고 바.. Gitlab의 용량이 Full이 되었을 때 해결법 이 글은 내가 관리하던 회사 Gitlab의 용량이 Full이 된 후 겪게 된 삽질을 다룬다. 때는 지난주 금요일, 함께 일하는 동료가 나에게 Gitlab 접속이 되지 않는다며 확인해달라고 한 게 시작이었다. Gitlab 웹 페이지에 접속을 시도하니 정말 5XX 에러가 뜨고 있었다. Putty로 Gitlab이 운영되고 있는 Ubuntu 서버에 접속해서 이것저것 확인해보니 디스크 용량의 Usage가 100%를 치고있던 것이었다…! 더욱이 이 하드 디스크의 용량은 고작 500GB밖에 되지 않았다. 지금까지 500GB 짜리 하나 믿고 Gitlab을 쓰고 있었다니… 곧바로 회사의 남는 하드 디스크를 공수하기 시작했다. 다행히 4TB짜리 놀고 있는 하드 디스크가 있어서 곧바로 Gitlab, 더 나아가서는 이 Git.. 이전 1 2 다음