在Debian上安装Kubernetes(K8s)监控工具可以通过多种方法和工具来实现,以下是一些常用的方法和工具:
helm repo add prometheus https://prometheus-community.github.io/helm-charts
helm repo update
helm install prometheus prometheus/prometheus
helm repo add grafana https://grafana.com/charts
helm repo update
helm install grafana grafana/grafana
/etc/prometheus/prometheus.yml
),添加Kubernetes服务的抓取配置:scrape_configs:
- job_name: 'kubernetes-nodes'
kubernetes_sd_configs:
- role: node
relabel_configs:
- source_labels: [__meta_kubernetes_node_hostname]
action: keep
regex: (k8s-master|k8s-node[0-9])
- job_name: 'kubernetes-pods'
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_app]
action: keep
regex: my-app
http://<Grafana-Service-IP>:3000
,使用Prometheus作为数据源,并导入Kubernetes相关的仪表板。Prometheus-Operator是一个用于在Kubernetes集群中部署和管理Prometheus及相关监控组件的工具。
kubectl apply -f https://github.com/prometheus-community/helm-charts/releases/latest/download/prometheus-operator.tgz
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
name: my-prometheus
spec:
serviceAccountName: prometheus
replicas: 1
template:
metadata:
labels:
app: prometheus
spec:
containers:
- name: prometheus
image: prom/prometheus:latest
ports:
- containerPort: 9090
volumeMounts:
- name: prometheus-storage
mountPath: /prometheus
volumeClaimTemplate:
metadata:
name: prometheus-storage
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 10Gi
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: my-service-monitor
spec:
selector:
matchLabels:
app: my-app
endpoints:
- port: metrics
interval: 30s
cAdvisor(Container Advisor)是一个开源工具,用于监控容器的资源使用情况和性能指标。
kubectl apply -f https://github.com/google/cadvisor/releases/latest/download/cadvisor.yaml
curl http://<Kubernetes-Master-IP>:8080/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Kubernetes Dashboard是一个基于Web的UI工具,提供了对Kubernetes集群的直观访问。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
kubectl -n kube-system get svc | grep dashboard
然后在浏览器中访问该URL。