警告
本文最后更新于 2021-12-06,文中内容可能已过时。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 添加一个chart库
helm repo add elastic https://helm.elastic.co
# 从chart存储库更新信息
helm repo update
# 查找chart
helm search repo prometheus
# 下载chart
helm pull elastic/elasticsearch
# 查看历史的发布版本
helm history traefik
|
1
2
3
4
5
6
|
helm repo add elastic https://helm.elastic.co
# 从存储库下载 chart
helm pull elastic/elasticsearch
helm upgrade --install --namespace monitoring elasticsearch elastic/elasticsearch -f ./values.yaml --set replicas=1 --set minimumMasterNodes=1
|
1
|
helm upgrade --install --namespace monitoring kibana elastic/kibana
|
1
2
3
4
5
6
7
|
helm repo add fluent https://fluent.github.io/helm-charts
helm show values fluent/fluent-bit
wget https://raw.githubusercontent.com/fluent/helm-charts/main/charts/fluent-bit/values.yaml
helm upgrade --install --namespace monitoring fluent-bit fluent/fluent-bit
|
- Prometheus Operator:一个使用自定义资源定义 (CRD) 的 Kubernetes 原生监控方案,可以方便地在 Kubernetes 中部署和管理 Prometheus 实例。它提供了自动配置和部署,支持 Prometheus 实例、Alertmanager、Grafana 和 Pushgateway 等多个组件。同时,Prometheus Operator 还支持自定义的 Prometheus 配置和警报规则。
- Kube Prometheus Stack:一个完全集成的 Prometheus 监控方案,包括 Prometheus、Alertmanager、Grafana 和 Prometheus Operator 等多个组件。它使用 Helm 包管理器来部署,易于配置和升级。此外,Kube Prometheus Stack 还提供了预定义的警报规则和 Grafana 仪表盘,以帮助用户快速搭建监控系统。
- kube-prometheus:与 Kube Prometheus Stack 类似,也是一个基于 Helm Charts 的 Prometheus 监控解决方案。它可以轻松地部署和管理 Prometheus 实例、Alertmanager 和 Grafana 等组件。kube-prometheus 的安装过程相对比较简单,并提供了多个预定义的警报规则和 Grafana 仪表盘,可以帮助用户快速设置监控系统。
1
2
3
4
|
helm upgrade --install --namespace monitoring kube-prometheus-stack prometheus-community/kube-prometheus-stack
# 查看grafana密码
kubectl get secret -n monitoring kube-prometheus-stack-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
|
1
|
helm upgrade --install traefik --namespace=kube-system traefik/traefik -f ./values-prod.yaml
|
创建一个用于 Dashboard 访问的 IngressRoute 资源清单
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
cat <<EOF | kubectl apply -f -
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: traefik-dashboard
namespace: kube-system
spec:
entryPoints:
- web
routes:
- match: Host(`traefik.linux88.com`) # 指定域名
kind: Rule
services:
- name: api@internal
kind: TraefikService # 引用另外的 Traefik Service
EOF
|
创建kibana、prometheus相关的资源清单
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
cat <<EOF | kubectl apply -f -
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: monitoringressroute
namespace: monitoring
spec:
entryPoints:
- web
routes:
- match: Host(`kibana.linux88.com`)
kind: Rule
services:
- name: kibana-kibana
port: 5601
- match: Host(`prom.linux88.com`)
kind: Rule
services:
- name: kube-prometheus-stack-prometheus
port: 9090
- match: Host(`grafana.linux88.com`)
kind: Rule
services:
- name: kube-prometheus-stack-grafana
port: 80
- match: Host(`alert.linux88.com`)
kind: Rule
services:
- name: kube-prometheus-stack-alertmanager
port: 9093
EOF
|
Elastic Stack Kubernetes Helm Charts
Fluent Helm Charts
Fails to send data to ElasticSearch
Traefik
Install Prometheus and Grafana in your Kubernetes cluster
Capture Traefik Metrics for Apps on Kubernetes with Prometheus