# Rancher Monitoring 배포 ## 1. 배포 방법 - 배포 전 `rancher-monitoring-crd`가 배포되었는 지 확인 후 배포한다. - 명령어 ``` sh $ helm upgrade rancher-monitoring --install \ --namespace cattle-monitoring-system --create-namespace \ ../rancher-monitoring -f ./custom-values.yaml ``` ## 2.custom-values.yaml 설명 - custom-values.yaml에 정의된 값에 대한 설명이다. ### 1) 오프라인 설정 - private 환경 배포시 사용한다. | Name | 설명 | 기본값 | | ---------------------- | ------------------------------------------------------------ | ------ | | `global.cattle.systemDefaultRegistry` | 오프라인 설치 시에 설정.
paasup 설치시에는 "paasup.io"로 설정 | `""` | ### 2) grafana 설정 - grafana의 리소스를 설정한다. | Name | 설명 | 기본값 | | ------------------------ | ---------------------------------- | --------- | | `grafana.resources` | grafana pod의 resource 설정. | `custom-values.yaml 참조` | ### 3) prometheus 설정 - prometheus의 리소스를 설정한다. - 리소스 설정시 `retensionSize`의 크기를 volume 크기보다 크게 설정하지 않도록 주의한다. | Name | 설명 | 기본값 | | ------------------------ | ---------------------------------- | --------- | | `prometheus.prometheusSpec.resources` | prometheus pod의 resource 설정. | `custom-values.yaml 참조` | | `prometheus.prometheusSpec.scrapeInterval` | prometheus scrape_interval 설정. 수집 주기 설정 | `1m` | | `prometheus.prometheusSpec.evaluationInterval` | prometheus evaluation_interval 설정. alert에 대한 평가 주기. | `1m` | | `prometheus.prometheusSpec.retention` | prometheus 메트릭 보관 주기 설정. | `30d` | | `prometheus.prometheusSpec.retentionSize` | 메트릭 보관 용량 설정. | `10GB` | | `prometheus.prometheusSpec.storageSpec` | Prometheus의 볼륨 설정. | `10GB` | ### 4) alertmanager 설정 | Name | 설명 | 기본값 | | ------------------------ | ---------------------------------- | --------- | | `alertmanager.alertmanagerSpec.resources` | alert manager의 resource 설정. | `custom-values.yaml 참조` | ### 5) cluster 별 Monitoring 설정 - rke, rke2, kubeadm, k3s 4가지 배포판에 대한 모니터링을 지원한다. - 각 배포판 별 value를 `enabled: true`로 설정하여 메트릭을 수집할 수 있다. #### rke2 ``` yaml rke2ControllerManager: enabled: false rke2Etcd: enabled: false rke2Proxy: enabled: false rke2Scheduler: enabled: false rke2IngressNginx: enabled: false ``` #### rke ``` yaml rkeControllerManager: enabled: false rkeEtcd: enabled: false rkeProxy: enabled: false rkeScheduler: enabled: false rkeIngressNginx: enabled: false ``` #### kubeadm ``` yaml kubeAdmControllerManager: enabled: false kubeAdmScheduler: enabled: false kubeAdmProxy: enabled: false kubeAdmEtcd: enabled: false ``` #### k3s ``` yaml k3sServer: enabled: false ``` ### 6) ingress nginx - 클러스터에 ingress nginx를 배포했을 때 해당 옵션을 `enabled: true`로 설정하여 메트릭 수집할 수 있다. ``` yaml ingressNginx: enabled: false namespace: ingress-nginx ```