📒 Tech Note

    Kubernetes 개요 및 참고자료

    Kubernetes 개요 및 참고자료

    쿠버네티스란? 쿠버네티스는 Google의 Borg라는 이름의 프로젝트 시작한 오픈 소스로 Go 언어로 구현되어 있습니다. Google은 2015년 7월 v.1.0이 CNCF(Cloud Native Computing Foundation)에 기부했고 여러 벤더사와 개발자들이 오픈소스 프로젝트에 참여해 지금까지 꾸준히 업데이트되고 있습니다(최신 버전 v.1.18). 쿠버네티스 경우 공식 사이트에 문서가 워낙 잘 정리되어 있고, 튜토리얼도 알차서 사이트 내에서 기본적인 개념과 연습은 모두 커버할 수 있습니다. kuberentes.io 추천도서 Managing Kubernetes Kubernetes in action kubernetes 에 대한 공부를 제대로 시작하고 싶으신 분들은 공식 문서와 추천 도서를 참고하..

    Docker 개요 및 참고자료

    Docker 개요 및 참고자료

    도커 개요 Docker 란? 도커에 대한 설명글은 정리를 잘 해놓은 수많은 글들이 있어서 참고 문서를 정리합니다. subicura, "초보를 위한 도커 안내서", https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html 이 외에도 RedHat, AWS, Microsoft 등 기술 블로그에서 잘 소개되어 있습니다. 공식 문서: docker, https://docs.docker.com/get-started/overview/ Docker Engine 리눅스(CentOS, Debian, Fedora, Oracle Linux, RHEL, SUSE, Ubuntu) 또는 Windows Server에서 사용 가능 세가지 구성 요소 서버 : dockerd 라는..

    컨테이너 (Containers) ?

    컨테이너 (Containers) ?

    컨테이너 소개 컨테이너는? 컨테이너는 운영 체제를 가상화 한 형태이다. 컨테이너 한 단위는 작은 마이크로서비스 혹은 소프트웨어 프로세스부터 큰 규모의 애플리케이션까지 다양하다. 컨테이너 내부에는 필수 실행파일, 바이너리 코드, 라이브러리, 설정 파일 등이 있다. VM과 달리 컨테이너는 OS 이미지를 포함하지 않는다.그래서 오버헤드를 줄여 프로그램을 경량화하고 휴대성을 강화할 수 있다. 규모가 큰 배포에서는 여러개의 컨테이너들이 하나 혹은 여러 컨테이너 클러스터를 구성할 수 있다. 이런 클러스터들을 관리하는 도구가 바로 쿠버네티스이다. VM vs Container 보충 자료 (Video) Microsoft Azure, https://www.youtube.com/watch?v=EUitQ8DaZW8 컨테이너의..

    클라우드 컴퓨팅이란?

    클라우드 컴퓨팅이란?

    클라우드 컴퓨팅이란? 클라우드 컴퓨팅은 IT 리소스를 인터넷을 통해 온디맨드로 제공하고, 사용한 만큼 비용을 지불하는 것을 의미한다. 물리적 데이터 센터와 서버 구입, 소유 및 관리 비용을 줄이고, AWS, Azure, GCP, IBM Cloud 같은 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스에 액세스할 수 있다. 클라우드 컴퓨팅 서비스 모델 클라우드 컴퓨팅은 3가지 서비스 모델로 제공된다. Infrastructure as a Service(IaaS) : 서비스 공급자가 인프라(네트워크, 저장소, 서버 및 가상화)를 제공한다. Platform as a Service(PaaS): 서비스 공급자가 인프라(네트워크, 저장소, 서버 및 가상화, OS, 미들웨어 및..

    JIRA 프로젝트 커스터마이징 하기 (2/2)

    JIRA 프로젝트 커스터마이징 하기 (2/2)

    Customizing Jira Sample Project 목차 Custom Issue Type Custom Issue Workflow Custom Issue Field Kanban Board 먼저, 프로젝트 만들어 칸반 보드를 생성합니다. 1. Custom Issue Type 지라 프로젝트를 처음 생성해보면 기본적으로 갖춰져있는 이슈 타입들이 있다. 범위가 큰 순서대로 나열해보면 에픽 > 스토리 = 테스크= 버그 > 하위 테스크 이다. 프로젝트 별로 에픽을 사용하지 않기도 하고, 업무의 종류에 따라 이슈 타입을 다르게 선택한다. admin으로 로그인 해서 오른쪽 위쪽 세팅 아이콘을 클릭하고, 이슈 탭을 들어가보면 다음과 같이 프로젝트에 사용하는 이슈 타입들을 확인할 수 있다. 기본을 그대로 사용할 수도 ..

    JIRA, MySQL 도커 이미지 빌드 (1/2)

    JIRA, MySQL 도커 이미지 빌드 (1/2)

    Setting up Jira on MySQL with Docker 설치환경 MacOS, Catalina Docker 설치순서 mysql jira Docker network 설정 docker network jira-network를 생성한다. docker network create -d bridge jira-network mysql 5.6 설치 mysql을 설치한다. docker run -d -p 13306:3306 \ --net jira-network \ --restart always \ -e MYSQL_ALLOW_EMPTY_PASSWORD=true \ --name mysql \ mysql:5.6 docker network jira-network 위에 mysql이 띄워져있는지 확인한다. docker ins..

    Ubuntu(18.04)에 Jenkins 설치하기

    Ubuntu(18.04)에 Jenkins 설치하기

    DevOps CI/CD 툴체인에 자주 등장하는 jenkins를 안정적으로 활용하기 위해 VM 에 직접 설치해보겠습니다. Jenkins는? Jenkins는 Java로 빌드 된 오픈 소스 CI (Continuous Integration) 및 CD (Continuous Delivery) 도구 입니다. Jenkins는 기본적으로 소프트웨어 프로젝트를 빌드, 테스트 및 배포합니다. DevOps 개발 도구의 가장 기본적인 도구 중에 하나입니다. 오늘은 Ubuntu 18.04에 Jenkins를 설치하는 방법을 보여 드리겠습니다 . Jenkins는 Java, Ruby, Dot Net, PHP 등과 같은 다양한 언어를 사용하는 프로젝트에 대해 다양한 규모의 팀이 사용하고 있습니다. Jenkins는 독립 플랫폼이므로 Wi..

    Ubuntu(18.04)에 Gitlab 설치하기

    Ubuntu(18.04)에 Gitlab 설치하기

    DevOps CI/CD 툴체인 데모에 자주 등장하는 gitlab을 안정적으로 활용하기 위해 vm 에 직접 설치해보겠습니다. 사전 준비 사항 Ubuntu(18.04) 설치 과정 1. 패키지 설치 VM을 설치하는 작업은 이미 진행했다는 전제 하에 시작합니다. SSH 접속한 쉘 창에서 우분투에서 사용할 의존성 프로그램을 설치하는 업데이트 작업부터 진행합니다. 다음 명령어를 Ubuntu 터미널 창에 차례로 입력합니다. sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates 2. Gitlab 패키지 저장소 추가 및 패키지 설치 Gitlab에서 제공하는 패키지 설치 저장소를 사용해 설치 작업을 진행합니다. curl https:/..

    BFF(Backend for Frontend) 란?

    BFF(Backend for Frontend) 란?

    frontend SPA 서비스와 backend springboot 애플리케이션을 연결할 BFF(backend for frontend)를 만들기 앞서 BFF 개념을 알아봅니다. 원문을 제가 나름대로 이해한 대로 적어 내용은 약간 다를 수 있습니다. BFF 란? BFF(Backend for Frontend) 는 마이크로서비스 아키텍처의 여러 패턴 중의 하나로, 하나의 인터페이스로 구성되어있던 모노리스 서비스에서 마이크로서비스로 전환되면서 여러 UI기반 시스템이 여러 서비스의 api를 호출하고 통신하는 형태로 발전했습니다. 천천히 아키텍처가 발전하는 흐름에 맞춰서 형태가 변경되어온 셈입니다. Monolith 분해 먼저 하나의 거대한 시스템이 응용 프로그램 자체였던 시절부터 시작합니다. 이전 문서에서는 마이크로..

    Swagger로 Express 시작하기

    Swagger로 Express 시작하기

    Express에서 swagger 프로젝트 사용하는 방법을 소개합니다. Swagger? Swagger는 Open Api Specification(OAS)를 위한 프레임워크 입니다. 여러 API를 한번에 관리할 수 있는 프로젝트입니다. 주로 REST 웹 서비스를 설계, 빌드, 문서화할 때 활용합니다. Swagger 기능 5가지 API Design Swagger-editor를 통해 api를 문서화하고 빠르게 명세화 할 수 있다. API Developement Swagger-codegen을 통해 작성된 문서를 통해 SDK를 생성하여 빌드 프로세스를 간소화 한다. API Document Swagger-UI를 통해 작성한 API를 시작화 한다. API Testing Swagger-Inspector를 통해 API를 ..