Kubernetes Helm

警告
本文最后更新于 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
  1. Prometheus Operator:一个使用自定义资源定义 (CRD) 的 Kubernetes 原生监控方案,可以方便地在 Kubernetes 中部署和管理 Prometheus 实例。它提供了自动配置和部署,支持 Prometheus 实例、Alertmanager、Grafana 和 Pushgateway 等多个组件。同时,Prometheus Operator 还支持自定义的 Prometheus 配置和警报规则。
  2. Kube Prometheus Stack:一个完全集成的 Prometheus 监控方案,包括 Prometheus、Alertmanager、Grafana 和 Prometheus Operator 等多个组件。它使用 Helm 包管理器来部署,易于配置和升级。此外,Kube Prometheus Stack 还提供了预定义的警报规则和 Grafana 仪表盘,以帮助用户快速搭建监控系统。
  3. 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

相关内容