在Debian上監控Kubernetes(K8S)集群有多種方法,以下是一些常用的監控工具和步驟:
kubectl 是 Kubernetes 的默認命令行工具,可以用來查詢和管理 Kubernetes 集群。
kubectl get nodes
kubectl get pods --all-namespaces
kubectl get services --all-namespaces
kubectl get deployments --all-namespaces
Kubernetes Dashboard 是一個基于Web的UI,可以用來監控和管理 Kubernetes 集群。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
kubectl proxy
然后在瀏覽器中訪問 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/。Prometheus 是一個開源的監控和警報工具包,專為 Kubernetes 等動態云原生環境而設計。Grafana 是一個開源的分析和監控平臺,可以用來查詢、可視化、報警和理解指標數據。
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
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/
K9s 是一個基于終端的全屏 UI 管理工具,可以與 Kubernetes 集群進行交互。
curl -LO "https://github.com/derailed/k9s/releases/latest/download/k9s_$(uname -s)_$(uname -m).tar.gz"
tar xzvf k9s_$(uname -s)_$(uname -m).tar.gz
sudo mv k9s /usr/local/bin
k9s login
這將啟動 K9s 的終端界面,可以用于管理和監控集群。通過這些工具和方法,你可以在 Debian 上有效地監控 Kubernetes 集群的狀態和性能。根據具體需求選擇合適的工具組合,可以更好地滿足你的監控需求。