SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Prometheus in Openstack-helm
Aug 21, 2018
Prometheus
• History
• SoundCloud라는 곳에서 시작
• 2012년 이후 여러회사에서 참여
• 2016에 Cloud Native Computing Foundation에 합류 (k8s에 이은 두번째 공식 프로젝트)
• 주요기능
• 멀티 디맨젼 지원 데이터 모델 (multi-demensional data model)
• 유연한 조회언어 (query language)
• 분산스토리지에 의존성없음
• http 프로토콜을 사용한 시계열데이터 수집
• Severside pull 데이터 수집 및 push gateway를 통한 Spot data지원
• Service Discovery나 Static 모두 사용가능한 구조
• 그래프나 대시보드를 위한 다양한 모드 제공
• 적용대상
• 순수하게 숫자로 구성된 시계열 데이터 저장에 적합
• Reliable 하지만 성숙도가 부족하여 billing 등 사용 부적합
Prometheus Architecture
Exporter
• https://prometheus.io/docs/instrumenting/exporters/
• 내부의 metrics를 prometheus metrics으로 변환하여 노출(export)
• prometheus에서 제공하는 라이브러리 활용가능
• 공식페이지에서 단계별로 exporter들 소개
• official과 단순소개
• sw 자체적으로 expoter를 구현
• Ballerina, Ceph, Collectd, Concourse,
• CRG Roller Derby Scoreboard (direct),
• Docker Daemon, Doorman (direct), Etcd (direct),
• Flink, FreeBSD Kernel, Grafana, Kubernetes (direct),
• Linkerd, mgmt, MidoNet,
• midonet-kubernetes (direct), Minio, Netdata,
• Pretix, Quobyte (direct), RobustIRC, ScyllaDB,
• Skipper, SkyDNS (direct), Telegraf, Traefik,
• Weave Flux
Job&Instance
• Instance: 수집대상
• Job: 동일한 동작을 하는 instance 들에 대한 수집
• 수집시 자동으로 부여되는 labels and time series
• labels
• Job 명칭
• Instace 구분: <host>:<port>
• Honor_labels
• 시간
• up{job=<job-name>, instance=<instance-id>}: 1 (살았니 죽었니)
• scrap_duration_seconds{job=<job-name>, instance=<instance-id>}: 수집에
걸린 시간
• scrap_samples_post_metric_relabeling{job=<job-name>,
instance=<instance-id>}: relabeling 이후 샘플 수
• scrap_samples_scraped{job=<job-name>, instance=<instance-id>}:: 수집된
샘플 수
Service Discovery
• https://prometheus.io/blog/2015/06/01/advanced-service-discovery/
• 동적 타겟 생성
• 지원하는 Service Discovery
• Azure
• Consul
• DNS
• EC2
• OpenStack
• File
• GCE
• Kubernetes
• Marathon
• AirBNB’s Nerve
• Zookeeper Serverset
• Triton
Openstack-helm
• https://docs.openstack.org/openstack-helm/latest/
readme.html#

• The goal of OpenStack-Helm is to provide a collection of
Helm charts that simply, resiliently, and flexibly deploy
OpenStack and related services on Kubernetes

• https://github.com/openstack/openstack-helm

• https://github.com/openstack/openstack-helm-infra
8
II. Helm > What is Helm TBU
https://helm.sh/
Helm은 kubernetes에 어플리케이션을 설치하고 관리하는 툴이다. 마치 운영체제에 어플리케이션을 설치
하고 관리하는 apt, yum, homebrew와 같은 툴의 kubernetes 버전이라 할 수 있다.

Helm can do the following:
• Create new charts(kubernetes packages) from scratch
• Package charts into chart archive (tgz) files
• Interact with chart repositories where charts are stored
• Install and uninstall charts into an existing Kubernetes cluster
• Manage the release cycle of charts that have been installed with Helm
For Helm, there are three important concepts:
1. The chart is a bundle of information necessary to create an instance of a Kubernetes
application.
2. The config contains configuration information that can be merged into a packaged chart
to create a releasable object.
3. A release is a running instance of a chart, combined with a specific config.
What is helm?
The package manager for Kubernetes
Helm helps you manage Kubernetes applications - Helm
Charts helps you define, install, and upgrade even the most
complex Kubernetes application.
Charts are easy to create, version, share, and publish - so
start using Helm and stop the copy-and-paste madness.
Prometheus charts
• Openstack-helm에서 필요한 기반 소프트웨어들: Openstack-helm-infra
• https://github.com/openstack/openstack-helm-infra
• 제공하는 helm-chart
• Prometheus
• Prometheus-alertmanager
• Exporters
• Prometheus-kube-state-metrics
• Prometheus-node-exporter
• Prometheus-openstack-exporter
• Prometheus-process-exporter
• Embedded exporters
• ceph-client, memcached, mariadb, ingress, rabbitmq, calico, fluent-
logging, elasticsearch
Prometheus charts
• 이점
• Helm Chart를 통한 간편한 배포
• Prometheus서버에 exporter들을 등록
• grafana의 데이터 소스로 prometheus를 지정
• grafana내 기본 dashboard 제공
• Ceph관련 3종: Cluster, OSD, Pools
• ElasticSearch
• Kubernetes관련 2종: Capacity Planning, Status
• Nginx: 모든 서비스에서 발생하는 nginx 감시
• Node
• OpenStack관련 2종: 

Metrics, Service
• RabbitMQ
Just git clone & install
• Openstack-helm 관련 공식 repo는 없음 -> 소스를 통한 설치

• git clone https://github.com/openstack/openstack-helm-
infra

• cd openstack-helm-infra

• make helm-toolkit; mkdir prometheus/charts; cp helm-
toolkit.*.tz prometheus/charts

• helm install prometheus …
TACO-scripts
• https://github.com/sktelecom-oslab/taco-scripts
• SKT에서 개발하고 있는 OpenStack 패키지인 TACO의 오픈소스버전
• Hands-on 진행
• OpenStack Days 2017, OpenInfra Days 2018
• OpenStack Summit in Vancouver 2018
• OS만 설치된 서버에 간단하게 Kubernetes cluster와 OpenStack와 제반 소프트웨어를 배포
하는 방법 제공
• 4 core / 8 GB / 200 GB 이상의 BM 또는 VM 준비
• 010~040 스크립트를 차례로 실행
• 스크립트별 수행내역
• 010-init-env.sh: 초기환경설정
• 020-install-k8s.sh: kubernetes cluster 구축 및 초기정보 입력
• 030-install-armada.sh: 배포를 위한 armada(Airship) 구축
• 040-deploy-openstack.sh: OpenStack 컴포넌트 구축
• 041-deploy-mon.sh: Prometheus 구축
Demo
TACO-scripts
• 구축되는 내역
• prometheus서버: 3대 ha구성
• node-exporter
• grafana
• HOST_IP:30009
• admin/password
TACO-scripts
• 더 많은 컴포넌트 설치를 위한 수정방법
• cd ~/apps/armada-manifests/
• vi taco-mon-manifest.yaml
• 최하단의 주석부분 주석(#)삭제
• armada apply taco-mon-manifest.yaml
• 이를 통해 설치되는 내역
• Kubernetes exporter
• Openstack exporter
• Alert manager: 알람에 대한 노티피케이션 설정
Configuration
• 변경포인트
• conf.prometheus.command_lin
e_flags
• 저장 주기 설정
• API를 통한 관리 설정
• conf.prometheus.scrap_configs
• Prometheus 설정파일 전체
• Scrape 대상 및 주기 등
• helm을 통한 구축시
• valueoverride를 통해 재지정
• armada를 통한 구축시
• manifest 파일에서 해당부분 수정
및 apply
• Manifest 파일은 여러 helm chart
를 포함하고 있으므로 depth가 다름
• data.values.conf…
결론
• Prometheus는 kubernetes 모니터링을 위한 최적 솔루션

• OpenStack-helm 프로젝트에서는 kubernetes 감시를 포함한
Prometheus의 주요 부분에 대한 helm chart를 제공

• osh에서 제공된 helm chart를 통해 구성하면 개별 sw가 유기적
으로 결합된 형태의 결과까지 받을 수 있음

• osh기반 prometheus를 간단하게 환경을 구축하고 테스트 해볼수
있는 TACO-scripts가 존재
그리고, 사람뽑아요
• http://careers.sktelecom.com/recruit_user/taleo/index.jsp
Grafana Screen Shot
Grafana Screen Shot
Grafana Screen Shot
Grafana Screen Shot
Grafana Screen Shot
Grafana Screen Shot
Grafana Screen Shot
Grafana Screen Shot
Grafana Screen Shot
Grafana Screen Shot
Grafana Screen Shot
Grafana Screen Shot
Grafana Screen Shot

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Introduction to helm
Introduction to helmIntroduction to helm
Introduction to helm
 
Monitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusMonitoring Kubernetes with Prometheus
Monitoring Kubernetes with Prometheus
 
Terraform
TerraformTerraform
Terraform
 
Final terraform
Final terraformFinal terraform
Final terraform
 
Helm intro
Helm introHelm intro
Helm intro
 
Spark Operator—Deploy, Manage and Monitor Spark clusters on Kubernetes
 Spark Operator—Deploy, Manage and Monitor Spark clusters on Kubernetes Spark Operator—Deploy, Manage and Monitor Spark clusters on Kubernetes
Spark Operator—Deploy, Manage and Monitor Spark clusters on Kubernetes
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as Code
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraform
 
Terraform
TerraformTerraform
Terraform
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
 
Persistent Storage with Containers with Kubernetes & OpenShift
Persistent Storage with Containers with Kubernetes & OpenShiftPersistent Storage with Containers with Kubernetes & OpenShift
Persistent Storage with Containers with Kubernetes & OpenShift
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Terraform on Azure
Terraform on AzureTerraform on Azure
Terraform on Azure
 
9 steps to awesome with kubernetes
9 steps to awesome with kubernetes9 steps to awesome with kubernetes
9 steps to awesome with kubernetes
 
MySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & GrafanaMySQL Monitoring using Prometheus & Grafana
MySQL Monitoring using Prometheus & Grafana
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
 
Terraform introduction
Terraform introductionTerraform introduction
Terraform introduction
 
Helm - Package manager in K8S
Helm - Package manager in K8SHelm - Package manager in K8S
Helm - Package manager in K8S
 

Ähnlich wie Prometheus in openstack-helm

Ähnlich wie Prometheus in openstack-helm (20)

[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
 
Toward kubernetes native data center
Toward kubernetes native data centerToward kubernetes native data center
Toward kubernetes native data center
 
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
 
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdf세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
 
세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여
 
SKT Openinfra days 2018 Presentation
SKT Openinfra days 2018 Presentation SKT Openinfra days 2018 Presentation
SKT Openinfra days 2018 Presentation
 
[OpenInfra Days Korea 2018] (Track 1) TACO (SKT All Container OpenStack): Clo...
[OpenInfra Days Korea 2018] (Track 1) TACO (SKT All Container OpenStack): Clo...[OpenInfra Days Korea 2018] (Track 1) TACO (SKT All Container OpenStack): Clo...
[OpenInfra Days Korea 2018] (Track 1) TACO (SKT All Container OpenStack): Clo...
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
 
Open infradays 2019_msa_k8s
Open infradays 2019_msa_k8sOpen infradays 2019_msa_k8s
Open infradays 2019_msa_k8s
 
Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서
 
[OpenInfra Days Korea 2018] (Track 1) 커뮤니티 오픈스택 패키징 도입 전략 및 구현사례 발표
[OpenInfra Days Korea 2018] (Track 1) 커뮤니티 오픈스택 패키징 도입 전략 및 구현사례 발표[OpenInfra Days Korea 2018] (Track 1) 커뮤니티 오픈스택 패키징 도입 전략 및 구현사례 발표
[OpenInfra Days Korea 2018] (Track 1) 커뮤니티 오픈스택 패키징 도입 전략 및 구현사례 발표
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
 
Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS)
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
 
Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023
Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023
Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023
 
Nexclipper_1905_summary_kor
Nexclipper_1905_summary_korNexclipper_1905_summary_kor
Nexclipper_1905_summary_kor
 
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
[AWSKRUG 컨테이너 소모임] Rancher 기본 입문
 

Kürzlich hochgeladen

Kürzlich hochgeladen (8)

JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 

Prometheus in openstack-helm

  • 2. Prometheus • History • SoundCloud라는 곳에서 시작 • 2012년 이후 여러회사에서 참여 • 2016에 Cloud Native Computing Foundation에 합류 (k8s에 이은 두번째 공식 프로젝트) • 주요기능 • 멀티 디맨젼 지원 데이터 모델 (multi-demensional data model) • 유연한 조회언어 (query language) • 분산스토리지에 의존성없음 • http 프로토콜을 사용한 시계열데이터 수집 • Severside pull 데이터 수집 및 push gateway를 통한 Spot data지원 • Service Discovery나 Static 모두 사용가능한 구조 • 그래프나 대시보드를 위한 다양한 모드 제공 • 적용대상 • 순수하게 숫자로 구성된 시계열 데이터 저장에 적합 • Reliable 하지만 성숙도가 부족하여 billing 등 사용 부적합
  • 4. Exporter • https://prometheus.io/docs/instrumenting/exporters/ • 내부의 metrics를 prometheus metrics으로 변환하여 노출(export) • prometheus에서 제공하는 라이브러리 활용가능 • 공식페이지에서 단계별로 exporter들 소개 • official과 단순소개 • sw 자체적으로 expoter를 구현 • Ballerina, Ceph, Collectd, Concourse, • CRG Roller Derby Scoreboard (direct), • Docker Daemon, Doorman (direct), Etcd (direct), • Flink, FreeBSD Kernel, Grafana, Kubernetes (direct), • Linkerd, mgmt, MidoNet, • midonet-kubernetes (direct), Minio, Netdata, • Pretix, Quobyte (direct), RobustIRC, ScyllaDB, • Skipper, SkyDNS (direct), Telegraf, Traefik, • Weave Flux
  • 5. Job&Instance • Instance: 수집대상 • Job: 동일한 동작을 하는 instance 들에 대한 수집 • 수집시 자동으로 부여되는 labels and time series • labels • Job 명칭 • Instace 구분: <host>:<port> • Honor_labels • 시간 • up{job=<job-name>, instance=<instance-id>}: 1 (살았니 죽었니) • scrap_duration_seconds{job=<job-name>, instance=<instance-id>}: 수집에 걸린 시간 • scrap_samples_post_metric_relabeling{job=<job-name>, instance=<instance-id>}: relabeling 이후 샘플 수 • scrap_samples_scraped{job=<job-name>, instance=<instance-id>}:: 수집된 샘플 수
  • 6. Service Discovery • https://prometheus.io/blog/2015/06/01/advanced-service-discovery/ • 동적 타겟 생성 • 지원하는 Service Discovery • Azure • Consul • DNS • EC2 • OpenStack • File • GCE • Kubernetes • Marathon • AirBNB’s Nerve • Zookeeper Serverset • Triton
  • 7. Openstack-helm • https://docs.openstack.org/openstack-helm/latest/ readme.html# • The goal of OpenStack-Helm is to provide a collection of Helm charts that simply, resiliently, and flexibly deploy OpenStack and related services on Kubernetes • https://github.com/openstack/openstack-helm • https://github.com/openstack/openstack-helm-infra
  • 8. 8 II. Helm > What is Helm TBU https://helm.sh/ Helm은 kubernetes에 어플리케이션을 설치하고 관리하는 툴이다. 마치 운영체제에 어플리케이션을 설치 하고 관리하는 apt, yum, homebrew와 같은 툴의 kubernetes 버전이라 할 수 있다. Helm can do the following: • Create new charts(kubernetes packages) from scratch • Package charts into chart archive (tgz) files • Interact with chart repositories where charts are stored • Install and uninstall charts into an existing Kubernetes cluster • Manage the release cycle of charts that have been installed with Helm For Helm, there are three important concepts: 1. The chart is a bundle of information necessary to create an instance of a Kubernetes application. 2. The config contains configuration information that can be merged into a packaged chart to create a releasable object. 3. A release is a running instance of a chart, combined with a specific config.
  • 9. What is helm? The package manager for Kubernetes Helm helps you manage Kubernetes applications - Helm Charts helps you define, install, and upgrade even the most complex Kubernetes application. Charts are easy to create, version, share, and publish - so start using Helm and stop the copy-and-paste madness.
  • 10. Prometheus charts • Openstack-helm에서 필요한 기반 소프트웨어들: Openstack-helm-infra • https://github.com/openstack/openstack-helm-infra • 제공하는 helm-chart • Prometheus • Prometheus-alertmanager • Exporters • Prometheus-kube-state-metrics • Prometheus-node-exporter • Prometheus-openstack-exporter • Prometheus-process-exporter • Embedded exporters • ceph-client, memcached, mariadb, ingress, rabbitmq, calico, fluent- logging, elasticsearch
  • 11. Prometheus charts • 이점 • Helm Chart를 통한 간편한 배포 • Prometheus서버에 exporter들을 등록 • grafana의 데이터 소스로 prometheus를 지정 • grafana내 기본 dashboard 제공 • Ceph관련 3종: Cluster, OSD, Pools • ElasticSearch • Kubernetes관련 2종: Capacity Planning, Status • Nginx: 모든 서비스에서 발생하는 nginx 감시 • Node • OpenStack관련 2종: 
 Metrics, Service • RabbitMQ
  • 12. Just git clone & install • Openstack-helm 관련 공식 repo는 없음 -> 소스를 통한 설치 • git clone https://github.com/openstack/openstack-helm- infra • cd openstack-helm-infra • make helm-toolkit; mkdir prometheus/charts; cp helm- toolkit.*.tz prometheus/charts • helm install prometheus …
  • 13. TACO-scripts • https://github.com/sktelecom-oslab/taco-scripts • SKT에서 개발하고 있는 OpenStack 패키지인 TACO의 오픈소스버전 • Hands-on 진행 • OpenStack Days 2017, OpenInfra Days 2018 • OpenStack Summit in Vancouver 2018 • OS만 설치된 서버에 간단하게 Kubernetes cluster와 OpenStack와 제반 소프트웨어를 배포 하는 방법 제공 • 4 core / 8 GB / 200 GB 이상의 BM 또는 VM 준비 • 010~040 스크립트를 차례로 실행 • 스크립트별 수행내역 • 010-init-env.sh: 초기환경설정 • 020-install-k8s.sh: kubernetes cluster 구축 및 초기정보 입력 • 030-install-armada.sh: 배포를 위한 armada(Airship) 구축 • 040-deploy-openstack.sh: OpenStack 컴포넌트 구축 • 041-deploy-mon.sh: Prometheus 구축
  • 14. Demo
  • 15. TACO-scripts • 구축되는 내역 • prometheus서버: 3대 ha구성 • node-exporter • grafana • HOST_IP:30009 • admin/password
  • 16. TACO-scripts • 더 많은 컴포넌트 설치를 위한 수정방법 • cd ~/apps/armada-manifests/ • vi taco-mon-manifest.yaml • 최하단의 주석부분 주석(#)삭제 • armada apply taco-mon-manifest.yaml • 이를 통해 설치되는 내역 • Kubernetes exporter • Openstack exporter • Alert manager: 알람에 대한 노티피케이션 설정
  • 17. Configuration • 변경포인트 • conf.prometheus.command_lin e_flags • 저장 주기 설정 • API를 통한 관리 설정 • conf.prometheus.scrap_configs • Prometheus 설정파일 전체 • Scrape 대상 및 주기 등 • helm을 통한 구축시 • valueoverride를 통해 재지정 • armada를 통한 구축시 • manifest 파일에서 해당부분 수정 및 apply • Manifest 파일은 여러 helm chart 를 포함하고 있으므로 depth가 다름 • data.values.conf…
  • 18. 결론 • Prometheus는 kubernetes 모니터링을 위한 최적 솔루션 • OpenStack-helm 프로젝트에서는 kubernetes 감시를 포함한 Prometheus의 주요 부분에 대한 helm chart를 제공 • osh에서 제공된 helm chart를 통해 구성하면 개별 sw가 유기적 으로 결합된 형태의 결과까지 받을 수 있음 • osh기반 prometheus를 간단하게 환경을 구축하고 테스트 해볼수 있는 TACO-scripts가 존재