diff --git a/charts/rancher-monitoring-crd/CUSTOM-README.md b/charts/rancher-monitoring-crd/CUSTOM-README.md new file mode 100644 index 0000000..53024f8 --- /dev/null +++ b/charts/rancher-monitoring-crd/CUSTOM-README.md @@ -0,0 +1,22 @@ + +# Rancher Monitoring CRD 배포 + +## 1. 배포 방법 + +``` sh +$ helm upgrade rancher-monitoring-crd --install \ + --namespace cattle-monitoring-system --create-namespace \ + ../rancher-monitoring-crd -f ./custom-values.yaml +``` + + +## 2.custom-values.yaml 설명 + +- custom-values.yaml에 정의된 값에 대한 설명이다. + +### 1) 오프라인 설정 +- private 환경 배포시 사용한다. + +| Name | 설명 | 기본값 | +| ---------------------- | ------------------------------------------------------------ | ------ | +| `global.cattle.systemDefaultRegistry` | 오프라인 설치 시에 설정.
paasup 설치시에는 "paasup.io"로 설정 | `""` | \ No newline at end of file diff --git a/charts/rancher-monitoring-crd/custom-values.yaml b/charts/rancher-monitoring-crd/custom-values.yaml new file mode 100644 index 0000000..fbe9cb3 --- /dev/null +++ b/charts/rancher-monitoring-crd/custom-values.yaml @@ -0,0 +1,4 @@ +# global: +# cattle: +# # offline 배포 시 설정 +# systemDefaultRegistry: "paasup.io" \ No newline at end of file diff --git a/charts/rancher-monitoring/CUSTOM-README.md b/charts/rancher-monitoring/CUSTOM-README.md new file mode 100644 index 0000000..b1f59e6 --- /dev/null +++ b/charts/rancher-monitoring/CUSTOM-README.md @@ -0,0 +1,114 @@ + +# Rancher Monitoring 배포 + +## 1. 배포 방법 + +``` 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 +``` \ No newline at end of file diff --git a/charts/rancher-monitoring/custom-values.yaml b/charts/rancher-monitoring/custom-values.yaml new file mode 100644 index 0000000..1ec2d19 --- /dev/null +++ b/charts/rancher-monitoring/custom-values.yaml @@ -0,0 +1,62 @@ +# global: +# cattle: +# systemDefaultRegistry: "paasup.io" + +grafana: + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 200m + memory: 200Mi + +prometheus: + prometheusSpec: + resources: + requests: + cpu: 250m + memory: 100Mi + limits: + cpu: 1000m + memory: 2000Mi + scrapeInterval: 1m + evaluationInterval: 1m + retention: 30d + retentionSize: 10GB ## 해당 설정에 Gi 입력 시 에러 발생 + storageSpec: + volumeClaimTemplate: + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: longhorn + volumeMode: Filesystem + +alertmanager: + alertmanagerSpec: + resources: + requests: + cpu: 100m + memory: 100Mi + limits: + cpu: 1000m + memory: 500Mi + +# rke2 클러스터 시 enable 한다. +# rke2ControllerManager: +# enabled: true +# rke2Etcd: +# enabled: true +# rke2Proxy: +# enabled: true +# rke2Scheduler: +# enabled: true +# rke2IngressNginx: +# enabled: true + +# helm 배포한 ingressNginx가 배포되어 있을 때 사용한다. +# ingressNginx: +# enabled: true \ No newline at end of file