在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集群上设置监控系统,以实时监控集群的状态和性能。根据具体需求选择合适的工具和方法,可以有效地确保集群的高可用性和稳定性。