Kubernetes(K8S)作为现代云原生利用的核心平台,其集群的监控对确保利用的高可用性跟机能至关重要。以下是五大年夜热点的K8S集群监控东西,它们可能帮助你及时控制集群资本静态。
Prometheus 是一个开源监控体系,以其机动的数据模型跟富强的查询言语而驰名。它实用于大年夜范围的监控场景,可能从各种源收集数据,包含Kubernetes API、cAdvisor、node-exporter等。
# Prometheus job设置示例
scrape_configs:
- job_name: 'kubernetes-apiserver'
static_configs:
- targets: ['<Kubernetes-APISERVER-IP>:<Kubernetes-APISERVER-PORT>']
Grafana 是一个开源的可视化平台,用于监控跟分析时光序列数据。它支撑多种数据源,包含Prometheus、InfluxDB等,非常合适与Prometheus结合利用。
{
"title": "Kubernetes Nodes",
"timezone": "browser",
"time": "now",
"timeFormat": "YYYY-MM-DDTHH:mm:ssZ",
"links": [],
"panels": [
{
"type": "graph",
"title": "CPU Usage",
"dataSource": "prometheus",
"yAxis": {
"label": "CPU %",
"min": 0,
"max": 100
},
"xAxis": {
"label": "Time"
},
"tooltip": {
"shared": true
},
"targets": [
{
"expr": "cpu_usage",
"format": "time"
}
]
}
]
}
Metrics Server 是Kubernetes集群的资本利用情况聚合器。它从每个节点的Kubelet API收集指标,并经由过程Kubernetes API效劳器公开这些数据。
# Metrics Server deployment设置示例
apiVersion: v1
kind: ServiceAccount
metadata:
name: metrics-server
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: metrics-server
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: system:aggregated-metrics-reader
subjects:
- kind: ServiceAccount
name: metrics-server
namespace: kube-system
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: metrics-server
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
k8s-app: metrics-server
template:
metadata:
labels:
k8s-app: metrics-server
spec:
containers:
- name: metrics-server
image: k8s.gcr.io/metrics-server/metrics-server:v0.4.1
command:
- /metrics-server
- --kubelet-insecure-tls
cAdvisor 是一个分析容器资本利用情况的东西。它可能帮助你懂得容器的机能,包含CPU、内存、磁盘跟收集利用情况。
# 启动cAdvisor
docker run -d --name cadvisor --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /sys:/sys -v /var/run:/var/run gcr.io/google_containers/cadvisor:latest
Node Exporter 是一个轻量级的监控体系,用于收集Linux效劳器的各种指标,包含CPU、内存、磁盘跟收集利用情况。
# 安装Node Exporter
sudo apt-get update
sudo apt-get install node-exporter
# 启动Node Exporter
sudo systemctl start node-exporter
sudo systemctl enable node-exporter
经由过程这些热点的K8S集群监控东西,你可能单方面监控集群的运转状况,及时发明并处理成绩,确保集群的牢固性跟高机能。