메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

You are viewing an old version of this content. View the current version.

현재와 비교 View Version History

« 이전 버전 9 현재 »


1. Helm

  • Kubernetes 애플리케이션의 패키지 매니저로 애플리케이션을 정의, 설치 및 업그레이드 가능합니다.

  • 애플리케이션을 패키지 형태로 배포하고 관리하기 쉽게 만들어 줍니다.

  • Helm을 사용하여 애플리케이션을 배포하면 일관성과 재사용성을 높일 수 있습니다.

  • 복잡한 쿠버네티스 리소스를 효율적으로 관리할 수 있습니다.

1.1 Helm 구성 요소

(1) 차트(Chart): Helm에서 애플리케이션을 패키징한 형태로, Kubernetes 리소스 템플릿과 값 파일을 포함합니다. 차트는 애플리케이션의 모든 구성 요소와 그 관계를 정의합니다.

(2) 릴리즈(Release): 특정 차트를 Kubernetes 클러스터에 설치한 인스턴스를 의미합니다. 동일한 차트를 여러 번 설치하여 여러 릴리즈를 만들 수 있습니다.

(3) 레포지토리(Repository): 차트를 저장하고 공유하는 장소입니다. 공개된 레포지토리를 통해 다양한 차트를 다운로드할 수 있으며, 자체 레포지토리를 만들어 내부적으로 사용할 수도 있습니다.

(4) 값 파일(Values File): 차트에서 사용할 변수 값을 정의한 파일입니다. 기본값 파일과 사용자 정의 값 파일을 통해 차트의 설정을 쉽게 변경할 수 있습니다.

1.2 Helm 주요 명령어

  • helm search: 차트를 검색합니다.

  • helm install: 차트를 설치하여 릴리즈를 만듭니다.

  • helm upgrade: 기존 릴리즈를 업그레이드합니다.

  • helm rollback: 릴리즈를 이전 버전으로 롤백합니다.

  • helm list: 설치된 릴리즈 목록을 표시합니다.

  • helm delete: 릴리즈를 삭제합니다.

1.3 Helm 설치

13/00-helm-install.txt

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

1.4 Helm Chart 예제

1.4.1 Kube-prometheus-stack

  • 쿠버네티스 모니터링을 위한 커스텀된 Chart를 제공합니다.

13/01-kube-prometheus-stack.txt

  • Repo 추가

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

  • 사용 가능한 차트 리스트 확인

root@sllee-ubuntu01:~# helm search repo
NAME                                                    CHART VERSION   APP VERSION     DESCRIPTION
prometheus-community/alertmanager                       1.11.0          v0.27.0         The Alertmanager handles alerts sent by client ...
prometheus-community/alertmanager-snmp-notifier         0.3.0           v1.5.0          The SNMP Notifier handles alerts coming from Pr...
prometheus-community/jiralert                           1.7.1           v1.3.0          A Helm chart for Kubernetes to install jiralert
prometheus-community/kube-prometheus-stack              58.5.3          v0.73.2         kube-prometheus-stack collects Kubernetes manif...
prometheus-community/kube-state-metrics                 5.19.0          2.12.0          Install kube-state-metrics to generate and expo...
prometheus-community/prom-label-proxy                   0.7.2           v0.8.1          A proxy that enforces a given label in a given ...
prometheus-community/prometheus                         25.21.0         v2.52.0         Prometheus is a monitoring system and time seri...
prometheus-community/prometheus-adapter                 4.10.0          v0.11.2         A Helm chart for k8s prometheus adapter
prometheus-community/prometheus-blackbox-exporter       8.17.0          v0.25.0         Prometheus Blackbox Exporter
prometheus-community/prometheus-cloudwatch-expo...      0.25.3          0.15.5          A Helm chart for prometheus cloudwatch-exporter
prometheus-community/prometheus-conntrack-stats...      0.5.10          v0.4.18         A Helm chart for conntrack-stats-exporter
prometheus-community/prometheus-consul-exporter         1.0.0           0.4.0           A Helm chart for the Prometheus Consul Exporter
prometheus-community/prometheus-couchdb-exporter        1.0.0           1.0             A Helm chart to export the metrics from couchdb...
prometheus-community/prometheus-druid-exporter          1.1.0           v0.11.0         Druid exporter to monitor druid metrics with Pr...
prometheus-community/prometheus-elasticsearch-e...      5.8.0           v1.7.0          Elasticsearch stats exporter for Prometheus
prometheus-community/prometheus-fastly-exporter         0.3.0           v7.6.1          A Helm chart for the Prometheus Fastly Exporter
prometheus-community/prometheus-ipmi-exporter           0.3.0           v1.8.0          This is an IPMI exporter for Prometheus.
prometheus-community/prometheus-json-exporter           0.11.0          v0.6.0          Install prometheus-json-exporter
prometheus-community/prometheus-kafka-exporter          2.10.0          v1.7.0          A Helm chart to export the metrics from Kafka i...
prometheus-community/prometheus-memcached-exporter      0.3.2           v0.14.3         Prometheus exporter for Memcached metrics
prometheus-community/prometheus-modbus-exporter         0.1.2           0.4.1           A Helm chart for prometheus-modbus-exporter
prometheus-community/prometheus-mongodb-exporter        3.5.0           0.40.0          A Prometheus exporter for MongoDB metrics
prometheus-community/prometheus-mysql-exporter          2.5.3           v0.15.1         A Helm chart for prometheus mysql exporter with...
prometheus-community/prometheus-nats-exporter           2.17.0          0.15.0          A Helm chart for prometheus-nats-exporter
prometheus-community/prometheus-nginx-exporter          0.2.1           0.11.0          A Helm chart for the Prometheus NGINX Exporter
prometheus-community/prometheus-node-exporter           4.34.0          1.8.0           A Helm chart for prometheus node-exporter
prometheus-community/prometheus-opencost-exporter       0.1.1           1.108.0         Prometheus OpenCost Exporter
prometheus-community/prometheus-operator                9.3.2           0.38.1          DEPRECATED - This chart will be renamed. See ht...
prometheus-community/prometheus-operator-admiss...      0.12.0          0.73.0          Prometheus Operator Admission Webhook
prometheus-community/prometheus-operator-crds           11.0.0          v0.73.0         A Helm chart that collects custom resource defi...
prometheus-community/prometheus-pgbouncer-exporter      0.3.0           v0.8.0          A Helm chart for prometheus pgbouncer-exporter
prometheus-community/prometheus-pingdom-exporter        2.5.0           20190610-1      A Helm chart for Prometheus Pingdom Exporter
prometheus-community/prometheus-pingmesh-exporter       0.4.0           v1.2.1          Prometheus Pingmesh Exporter
prometheus-community/prometheus-postgres-exporter       6.0.0           v0.15.0         A Helm chart for prometheus postgres-exporter
prometheus-community/prometheus-pushgateway             2.12.0          v1.8.0          A Helm chart for prometheus pushgateway
prometheus-community/prometheus-rabbitmq-exporter       1.11.0          v0.29.0         Rabbitmq metrics exporter for prometheus
prometheus-community/prometheus-redis-exporter          6.2.0           v1.58.0         Prometheus exporter for Redis metrics
prometheus-community/prometheus-smartctl-exporter       0.8.0           v0.12.0         A Helm chart for Kubernetes
prometheus-community/prometheus-snmp-exporter           5.4.0           v0.26.0         Prometheus SNMP Exporter
prometheus-community/prometheus-sql-exporter            0.1.0           v0.5.4          Prometheus SQL Exporter
prometheus-community/prometheus-stackdriver-exp...      4.5.0           v0.15.0         Stackdriver exporter for Prometheus
prometheus-community/prometheus-statsd-exporter         0.13.1          v0.26.1         A Helm chart for prometheus stats-exporter
prometheus-community/prometheus-systemd-exporter        0.2.2           0.6.0           A Helm chart for prometheus systemd-exporter
prometheus-community/prometheus-to-sd                   0.4.2           0.5.2           Scrape metrics stored in prometheus format and ...
prometheus-community/prometheus-windows-exporter        0.3.1           0.25.1          A Helm chart for prometheus windows-exporter

  • 차트 다운로드

helm pull prometheus-community/kube-prometheus-stack --untar

[root@m-k8s ~/helm]# ls -l
drwxr-xr-x 4 root root 4096 May 17 00:40 kube-prometheus-stack

  • 차트 파일 확인

cd kube-prometheus-stack/

[root@m-k8s ~/helm/kube-prometheus-stack]# ls -l
total 252
-rw-r--r-- 1 root root    656 May 17 00:40 CONTRIBUTING.md
-rw-r--r-- 1 root root    615 May 17 00:40 Chart.lock
-rw-r--r-- 1 root root   2117 May 17 00:40 Chart.yaml
-rw-r--r-- 1 root root  77182 May 17 00:40 README.md
drwxr-xr-x 7 root root   4096 May 17 00:40 charts
drwxr-xr-x 8 root root   4096 May 17 00:40 templates
-rw-r--r-- 1 root root 157713 May 17 00:40 values.yaml

  • 설치

##설치방법 1
# values.yaml 커스텀 후 설치방법
helm install prometheus-stack . -f values.yaml -n monitoring --create-namespace

##설치방법 2
# 차트를 다운보드 받지 않고 바로 설치
# 옵션으로 설정 변경가능
helm install prometheus-stack prometheus-community/kube-prometheus-stack 

  • 접속을 위해 서비스타입을 변경합니다.

kubectl -n monitoring edit svc prometheus-stack-grafana
ClusterIP -> LoadBalancer

image-20240521-015740.png

  • 레이블 없음