在Ubuntu上安裝Kubernetes(K8s)后,監控集群狀態是非常重要的,這有助于確保集群的穩定性和可靠性。以下是幾種常用的監控工具和步驟:
kubectl apply -f https://raw.githubusercontent.com/coreos/prometheus-operator/master/bundle.yaml
創建一個prometheus.yaml
文件,定義Prometheus的配置,例如:
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
name: my-prometheus
spec:
replicas: 2
serviceAccountName: prometheus-k8s
serviceMonitorSelector: {}
resources:
requests:
memory: 400Mi
ruleSelector:
matchLabels:
prometheus: k8s
alerting:
alertmanagers:
- namespace: monitoring
name: alertmanager-main
port: web
storage:
storageClassName: default
volumeClaimTemplate:
spec:
resources:
requests:
storage: 10Gi
ingress:
enabled: false
然后應用配置:
kubectl apply -f prometheus.yaml
kubectl apply -f https://raw.githubusercontent.com/coreos/kube-prometheus/master/manifests/grafana/grafana.yaml
在Grafana界面中添加Prometheus數據源,填入Prometheus的服務地址(如http://my-prometheus.monitoring.svc.cluster.local
)。
導入現成的Grafana儀表盤來展示K8s監控數據,例如Node監控、Pod監控、服務監控等。
kube-state-metrics
服務可以收集Kubernetes集群中各個組件的狀態指標。建議部署此服務以監控集群組件的健康狀況和性能表現。
kubectl apply -f https://github.com/kubernetes-sigs/kube-state-metrics/releases/latest/download/components.yaml
Kubernetes Dashboard是一個基于Web的界面,可以用于監控和管理Kubernetes集群。
kubectl proxy
然后訪問http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
以在瀏覽器中查看Dashboard。
# 安裝Micro-K8s
sudo snap install microk8s --classic
# 啟用DNS服務
sudo microk8s enable dns
# 獲取集群信息
sudo kubectl get nodes
sudo kubectl cluster-info
sudo kubectl get pods
sudo kubectl get services
通過上述步驟,您可以在Ubuntu K8s集群上設置監控系統,以實時監控集群的狀態和性能。根據具體需求選擇合適的工具和方法,可以有效地確保集群的高可用性和穩定性。