기술/Application
-
Packer는 자동화된 이미지 빌더입니다. Hashicorp에서 개발된 툴로, 다양한 프로비저너를 지원하여 AWS, Azure, GCP, VMware, Docker 등 다양한 이미지들을 HCL문을 이용하여 생성할 수 있습니다. 이번 가이드는 Docker를 Jenkins가 아닌 Packer를 이용하여 Build 후 Docker Hub로 바로 배포할 수 있도록 하였습니다. * 준비물 Packer Ansible # Python3 pip 설치 및 Ansible 설치 pip3 설치 root@ubuntu:/home/ubuntu# apt-get install python3-pip -y Ansible 설치 root@ubuntu:/home/ubuntu# pip3 install ansible # Packer 설치 다운로드..
Packer와 Ansible을 이용한 Docker Image 생성 및 배포Packer는 자동화된 이미지 빌더입니다. Hashicorp에서 개발된 툴로, 다양한 프로비저너를 지원하여 AWS, Azure, GCP, VMware, Docker 등 다양한 이미지들을 HCL문을 이용하여 생성할 수 있습니다. 이번 가이드는 Docker를 Jenkins가 아닌 Packer를 이용하여 Build 후 Docker Hub로 바로 배포할 수 있도록 하였습니다. * 준비물 Packer Ansible # Python3 pip 설치 및 Ansible 설치 pip3 설치 root@ubuntu:/home/ubuntu# apt-get install python3-pip -y Ansible 설치 root@ubuntu:/home/ubuntu# pip3 install ansible # Packer 설치 다운로드..
2020.11.10 -
안녕하세요. 이번 포스팅은 지난 Blue/Green 배포에 이어서 Canary 배포를 하는 방법에 대해서 가이드 하고자 합니다. Canary 배포는 기존에 배포된 서비스에 신규 서비스를 한꺼번에 배포/교체를 진행하지 않고 소량의 Pod만 일시적으로 배포하는 방식입니다. Canary 배포를 함으로서, 신규 서비스의 영향도나 반응 체크등을 할 수 있고 문제 시 소량 배포된 Pod만 정리하면 되기 때문에 편의성이 있습니다. 해당 배포 방식도 Kubernetes에서 Deployment만으로 배포가 가능하지만 Argo CD를 이용하는 방법에 대해 알아봅니다. 사전 준비 사항 * Argo CD 설치 * Argo Rollouts 설치 먼저 배포를 위해 아래의 코드를 사용하겠습니다. apiVersion: argopro..
Argo CD를 이용한 Canary 배포 (4)안녕하세요. 이번 포스팅은 지난 Blue/Green 배포에 이어서 Canary 배포를 하는 방법에 대해서 가이드 하고자 합니다. Canary 배포는 기존에 배포된 서비스에 신규 서비스를 한꺼번에 배포/교체를 진행하지 않고 소량의 Pod만 일시적으로 배포하는 방식입니다. Canary 배포를 함으로서, 신규 서비스의 영향도나 반응 체크등을 할 수 있고 문제 시 소량 배포된 Pod만 정리하면 되기 때문에 편의성이 있습니다. 해당 배포 방식도 Kubernetes에서 Deployment만으로 배포가 가능하지만 Argo CD를 이용하는 방법에 대해 알아봅니다. 사전 준비 사항 * Argo CD 설치 * Argo Rollouts 설치 먼저 배포를 위해 아래의 코드를 사용하겠습니다. apiVersion: argopro..
2020.10.22 -
안녕하세요. 이번에는 Argo CD를 이용한 Blue/Green 배포 방법에 대해서 알아보겠습니다. Blue/Green 배포란? Blue-Green 배포는 애플리케이션 또는 마이크로서비스의 이전 버전에 있던 사용자 트래픽을 이전 버전과 거의 동일한 새 버전으로 점진적으로 이전하는 애플리케이션 릴리스 모델입니다. 이때 두 버전 모두 프로덕션 환경에서 실행 상태를 유지합니다. 이전 버전을 blue 환경으로, 새 버전은 green 환경으로 부를 수 있습니다. 프로덕션 트래픽이 blue에서 green으로 완전히 이전되면, blue는 롤백에 대비하여 대기 상태로 두거나 프로덕션에서 가져온 후 업데이트하여 다음 업데이트의 템플릿으로 삼을 수 있습니다. 이와 같은 지속적 배포 모델에는 단점이 있습니다. 환경에 따라서..
Argo CD를 이용한 Blue/Green 배포 (3)안녕하세요. 이번에는 Argo CD를 이용한 Blue/Green 배포 방법에 대해서 알아보겠습니다. Blue/Green 배포란? Blue-Green 배포는 애플리케이션 또는 마이크로서비스의 이전 버전에 있던 사용자 트래픽을 이전 버전과 거의 동일한 새 버전으로 점진적으로 이전하는 애플리케이션 릴리스 모델입니다. 이때 두 버전 모두 프로덕션 환경에서 실행 상태를 유지합니다. 이전 버전을 blue 환경으로, 새 버전은 green 환경으로 부를 수 있습니다. 프로덕션 트래픽이 blue에서 green으로 완전히 이전되면, blue는 롤백에 대비하여 대기 상태로 두거나 프로덕션에서 가져온 후 업데이트하여 다음 업데이트의 템플릿으로 삼을 수 있습니다. 이와 같은 지속적 배포 모델에는 단점이 있습니다. 환경에 따라서..
2020.10.22 -
안녕하세요. 지난 글에서 Grafana에 Prometheus를 추가하여 Query를 입력하여 Metric을 불러왔는데요. 오늘은 예제를 통해 Grafana에 Panel을 추가하여 Node의 CPU를 확인해보도록 하겠습니다. 작업 순서는 다음과 같습니다. 1. Dashboard 생성 2. Dashboard에 Pannel 추가 3, Pannel에 옵션 주기 먼저 Panel들을 추가하고 모아두기 위해 Dashboard를 생성하도록 하겠습니다. Grafana의 좌측 메뉴 Create 부분에 Dashboard를 선택합니다. Add new panel을 선택합니다. panel 추가 메뉴는 다음과 같이 구성되어 있습니다. ①은 사용할 Data Source를 선택하는 곳입니다. ②은 쿼리를 입력하는 곳입니다. ③출력된 ..
[Kubernetes Monitoring] Grafana에서 Panel 추가하기안녕하세요. 지난 글에서 Grafana에 Prometheus를 추가하여 Query를 입력하여 Metric을 불러왔는데요. 오늘은 예제를 통해 Grafana에 Panel을 추가하여 Node의 CPU를 확인해보도록 하겠습니다. 작업 순서는 다음과 같습니다. 1. Dashboard 생성 2. Dashboard에 Pannel 추가 3, Pannel에 옵션 주기 먼저 Panel들을 추가하고 모아두기 위해 Dashboard를 생성하도록 하겠습니다. Grafana의 좌측 메뉴 Create 부분에 Dashboard를 선택합니다. Add new panel을 선택합니다. panel 추가 메뉴는 다음과 같이 구성되어 있습니다. ①은 사용할 Data Source를 선택하는 곳입니다. ②은 쿼리를 입력하는 곳입니다. ③출력된 ..
2020.10.16 -
안녕하세요. 오늘은 Grafana에 Prometheus Data Source를 추가하는 방법에 대해서 소개하고자 합니다. Kubernetes에서 모니터링 시 Prometheus를 이용하여 Metric을 수집하고, 수집된 Metric을 Grafana에서 Graph를 보는 것이 보편적인 Kubernetes의 모니터링 방식입니다. 본 포스팅은 Prometheus와 Grafana가 다소 낯선 분들을 위해 조금씩 작성하는 포스트입니다. Kubernetes 환경에서 Grafana와 Prometheus를 활용하려면 먼저 data source를 추가해야 합니다. 본 글은 Prometheus와 Grafana가 설치되었다는 가정하에 작성합니다. 순서는 다음과 같습니다. 1. Prometheus의 EndPoint(URL)을..
[Kubernetes Monitoring] Grafana에 Prometheus Data Source 추가하기안녕하세요. 오늘은 Grafana에 Prometheus Data Source를 추가하는 방법에 대해서 소개하고자 합니다. Kubernetes에서 모니터링 시 Prometheus를 이용하여 Metric을 수집하고, 수집된 Metric을 Grafana에서 Graph를 보는 것이 보편적인 Kubernetes의 모니터링 방식입니다. 본 포스팅은 Prometheus와 Grafana가 다소 낯선 분들을 위해 조금씩 작성하는 포스트입니다. Kubernetes 환경에서 Grafana와 Prometheus를 활용하려면 먼저 data source를 추가해야 합니다. 본 글은 Prometheus와 Grafana가 설치되었다는 가정하에 작성합니다. 순서는 다음과 같습니다. 1. Prometheus의 EndPoint(URL)을..
2020.10.15 -
안녕하세요. 오랜만의 포스팅입니다. 이번 글은 지난 Argo CD 설치에 이어서 배포를 하는 방법에 대해 작성하였습니다. 먼저 Argo CD의 페이지에서 좌측 메뉴->Settings->Repositories로 이동합니다. 두 가지의 인증 방식이 나오는데 본 가이드에서는 https를 사용하도록 하겠습니다. 아래와 같이 추가할 Repository의 URL과 계정 정보를 입력 후 상단의 Connect 버튼을 클릭합니다. * 만약에 비공개 Repository가 아니라면, 인증정보를 입력하지 않아도 됩니다. 정상적으로 추가가 완료되면, 아래와 같이 Successful이 나오게 됩니다. 이제 배포를 위한 Github Repository 추가가 완료되었습니다. 배포를 위한 Application 설정을 진행하겠습니다...
Argo CD를 이용한 배포 (2)안녕하세요. 오랜만의 포스팅입니다. 이번 글은 지난 Argo CD 설치에 이어서 배포를 하는 방법에 대해 작성하였습니다. 먼저 Argo CD의 페이지에서 좌측 메뉴->Settings->Repositories로 이동합니다. 두 가지의 인증 방식이 나오는데 본 가이드에서는 https를 사용하도록 하겠습니다. 아래와 같이 추가할 Repository의 URL과 계정 정보를 입력 후 상단의 Connect 버튼을 클릭합니다. * 만약에 비공개 Repository가 아니라면, 인증정보를 입력하지 않아도 됩니다. 정상적으로 추가가 완료되면, 아래와 같이 Successful이 나오게 됩니다. 이제 배포를 위한 Github Repository 추가가 완료되었습니다. 배포를 위한 Application 설정을 진행하겠습니다...
2020.10.13