본문 바로가기

공부62

Devops Day 60 (5.31) 서비스 모니터링_모니터링의 목표와 측정 항목 모니토링의 목표 메트릭이란 : 시간에 따라 측정한 결과값입니다. 보다 넓은 의미로는 비즈니스 개념을 나타내는 수치 측정을 의미하기도 합니다. 모니터링의 목표 : 1. 시간을 기준으로 측정되는 주요 메트릭을 최소화하여 고가용성을 달성 2. 사용량을 추적하여, 배포에 앞서 세운 가설을 검증하고 개선 - 애자일에서는 “검증된 학습(Validated learning)을 적용한다”라고 합니다. - Validated learning : https://www.boldare.com/blog/lean-startup-validated-learning/ 주요 벤더들이 이야기하는 모니터링의 목표와 메트릭 구글이 이야기하는 모니터링의 목표는 다음과 같습니다. 장기적인 트렌드 분석 (Analyzing long-term trend.. 2023. 6. 1.
Devops Day 55 (5.23) 컨테이너 오케스트레이션_helm 패키지 매니저 helm 쿠버네티스 패키지 매니저 우리는 이미 앞서 apt나 homebrew과 같이 애플리케이션 실행 파일을 제공하는 패키지 매니저, 혹은 npm과 같이 node.js 관련 모듈을 제공하는 패키지 매니저를 사용해 보았습니다. helm은 쿠버네티스 워크로드를 하나로 묶어서 패키지 형태로 만들고, 배포하고, 설치할 수 있는 도구입니다. 즉, 쿠버네티스 패키지 매니저입니다. 차트, 저장소, 릴리스 - helm에서는 패키지를 차트라고 부릅니다. - helm에서는 패키지가 저장되어 있는 공간을 저장소라고 부릅니다. - 차트를 설치하여, 쿠버네티스 클러스터에 구동될 때, 차트의 인스턴스를 릴리스라고 부릅니다. Hands-on: helm으로 Jenkins 설치하기 공식 Jenkins 차트 설명을 따라 설치를 진행해 .. 2023. 5. 24.
Devops Day 54 (5.22) 컨테이너 오케스트레이션_쿠버네티스 구성 요소 볼륨과 스테이트풀셋 파드는 Stateless합니다 앞서 언급했던 것처럼, 파드는 일시적이며, 언제나 삭제될 수 있음을 감안해야 합니다. 따라서, 파드 그 자체는 Stateless 합니다. 이러한 파드의 교체와 배치를 담당하는 것이 디플로이먼트입니다. 파드가 사라져도, 데이터를 남기고 싶다면 파드 그 자체에 상태(데이터)를 남겨야만 하는 Stateful 애플리케이션으로는 MySQL, mongoDB, redis와 같은 데이터베이스가 있을 수 있습니다. 그래서 쿠버네티스에도 영속적인(Persistence) 데이터(프로그램의 실행이 종료되어도 사라지지 않는 데이터)를 저장하기 위해 볼륨(Volume)을 연결할 수 있습니다. Q. : 볼륨과 퍼시스턴스 볼륨(Persistence Volume)은 어떤 차이가 있나요.. 2023. 5. 22.
Devops Day 52 (5.18) 컨테이너 오케스트레이션_쿠버네티스 워크로드 Devops Day 52 (5.18) 컨테이너 오케스트레이션_쿠버네티스 워크로드 쿠버네티스 설치 : 1. Minikube 설치 : 미니큐브는 로컬 쿠버네티스로, 쿠버네티스를 배우고 개발하기 쉽게 하는 것에 초점을 맞추고 있습니다. Ubuntu에 설치 위해 아래 와 같은 cmd 기입 합니다. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube 2. 클러스터 시작하기 위해 minikube start 명령 기입합니다. 3. 클러스터에 접근 할 수 있는 cmd kubectl get po -A 4. 최초에는 스.. 2023. 5. 19.
Devops Day 51 (5.17) 컨테이너 오케스트레이션_쿠버네티스 주용 개념 쿠버네티스와 컨테이너 오케스트레이션 쿠버네티스(Kubernetes, k8s)란? - 쿠버네티스(Kubernetes, k8s)란오픈소스로 만들어진 컨테이너 오케스트레이션 도구 - 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링하는 등의 관리 기능을 제공 - 각기 다른 환경(온프레미스 서버, VM, 클라우드)에 대응 가능 무엇을 오케스트레이션 한다는 것인가? 즉 컨테이너 오케스트레이션 도구는, 수십~수백 개의 컨테이너를 관리하고자 할 때 보다 더 잘 관리하기 위한 툴입니다, 단 어떻게 수십~수백 개의 컨테이너가 생길 수 있을까요? - 이는 아키텍처의 트렌드가 모놀리식에서 마이크로서비스로 바뀌고, - 이로 인해서 컨테이너의 개수가 증가하고, - 여기에 확장성을 고려해 스케일링까지 더할 경우에 발생할 수 있.. 2023. 5. 18.
Devops Day 48 (5.12) Infrastructure as Code_Terraform 절차형 : 프로그래밍 언어를 이용해서 직접 순차적으로 인프라를 생성하도록 코드를 작성하는 방법입니다. 절차형 Iac의 종류 : AWS CDK Pulumi 선언형 IaC : 선언형 언어 JSON, YAML 등을 사용합니다. 실제 인프라가 적용된 결과(기대하는 상태)와 적용할 내용(YAML 등)이 직관적으로 매핑됩니다. 선언형 IaC 종류 : CloudFormation (AWS에서만 사용가능) Azure Blueprint (Azure에서만 사용가능) Cloud Deployment Manager (GCP에서만 사용가능) Terraform: 어떤 클라우드 서비스에도 적용되는 범용 IaC 도구입니다. Terraform 기초 Hands on 테라폼은 HashiCorp의 인프라스트럭처 코드 도구입니다. 테라폼을 사용.. 2023. 5. 18.