Kubernetes提供了有关集群中资源使用情况的详细见解。 这可以通过使用Heapster , cAdvisor , InfluxDB和Grafana来启用 。
Heapster作为群集范围的Pod安装。 通过与Kubelet对话,它收集每个节点上所有Pod的监视和事件数据。 Kubelet本身从cAdvisor获取此数据。 该数据保存在InfluxDB中,然后使用Grafana可视化。
资源使用情况监视提供了有关监视Kubernetes中资源的更多详细信息。
Heapster,InfluxDB和Grafana是Kubernetes插件 。 如果您在Amazon Web Services或Google Cloud上运行集群,则默认情况下启用它们。 但是,如果使用minikube或kops 插件启动集群,则需要显式启用它。
在Amazon Web Services上启动Kubernetes集群,如下所示:
KUBERNETES_PROVIDER=aws; kube-up.sh
Kubernetes 1.4入门中提供了有关启动Kubernetes集群的更多详细信息。
默认情况下,它将在us-west-2a
地区创建一个4节点的Kubernetes集群。 可以使用命令kubectl cluster-info
查看有关集群的更多详细kubectl cluster-info
,结果显示为:
Kubernetes master is running at https://35.165.6.91
Elasticsearch is running at https://35.165.6.91/api/v1/proxy/namespaces/kube-system/services/elasticsearch-logging
Heapster is running at https://35.165.6.91/api/v1/proxy/namespaces/kube-system/services/heapster
Kibana is running at https://35.165.6.91/api/v1/proxy/namespaces/kube-system/services/kibana-logging
KubeDNS is running at https://35.165.6.91/api/v1/proxy/namespaces/kube-system/services/kube-dns
kubernetes-dashboard is running at https://35.165.6.91/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard
Grafana is running at https://35.165.6.91/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana
InfluxDB is running at https://35.165.6.91/api/v1/proxy/namespaces/kube-system/services/monitoring-influxdb
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
请注意Grafana服务的URL。 在浏览器窗口中打开此URL。 系统将提示您输入无效的证书警告,但目前可以安全地忽略此警告。 在生产系统中,应安装适当的证书。
然后,将提示您输入凭据。 这些可以使用kubectl config view
命令获得。 它将输出显示为:
- name: aws_kubernetes-basic-auth
user:
password: ZeH4JpQzAtGDEBdb
username: admin
使用username
和password
字段中的值。
这显示默认的仪表板:
它由两个仪表板组成-一个用于集群,另一个用于pod。
对于此博客,按照使用Kubernetes创建Couchbase集群中概述的步骤创建了一个4节点的Couchbase集群。
集群范围的仪表板显示所有主机上的CPU,内存,文件系统和网络使用情况,如下所示:
可以看到所有节点的CPU,内存,文件系统和网络使用情况:
通过选择节点,可以看到每个节点的详细信息:
显示每个节点的CPU,内存,文件系统和网络使用情况:
Pod仪表板显示每个Pod的CPU,内存,文件系统和网络使用情况:
可以选择其他吊舱:
使用kubectl get services --all-namespaces
命令可以查看kubectl get services --all-namespaces
运行的所有服务的完整列表。 输出显示为:
kubectl.sh get svc --all-namespaces
NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default couchbase-master-service 10.0.70.206 aef06961eb8f3... 8091/TCP 1h
default kubernetes 10.0.0.1 443/TCP 1h
kube-system elasticsearch-logging 10.0.54.112 9200/TCP 1h
kube-system heapster 10.0.146.18 80/TCP 1h
kube-system kibana-logging 10.0.123.37 5601/TCP 1h
kube-system kube-dns 10.0.0.10 53/UDP,53/TCP 1h
kube-system kubernetes-dashboard 10.0.146.179 80/TCP 1h
kube-system monitoring-grafana 10.0.33.81 80/TCP 1h
kube-system monitoring-influxdb 10.0.26.251 8083/TCP,8086/TCP 1h
使用kubectl get pods --all-namespaces
可以查看Kubernetes集群中运行的所有Pod的完整列表。 输出显示为:
kubectl.sh get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default couchbase-master-rc-q9awd 1/1 Running 17 56m
default couchbase-worker-rc-b1qkc 1/1 Running 15 54m
default couchbase-worker-rc-j1c5z 1/1 Running 17 52m
default couchbase-worker-rc-ju7z3 1/1 Running 15 52m
kube-system elasticsearch-logging-v1-18ylh 1/1 Running 0 1h
kube-system elasticsearch-logging-v1-fupap 1/1 Running 0 1h
kube-system fluentd-elasticsearch-ip-172-20-0-94.us-west-2.compute.internal 1/1 Running 0 1h
kube-system fluentd-elasticsearch-ip-172-20-0-95.us-west-2.compute.internal 1/1 Running 0 1h
kube-system fluentd-elasticsearch-ip-172-20-0-96.us-west-2.compute.internal 1/1 Running 15 1h
kube-system fluentd-elasticsearch-ip-172-20-0-97.us-west-2.compute.internal 1/1 Running 17 1h
kube-system heapster-v1.2.0-1374379659-jms8e 4/4 Running 0 1h
kube-system kibana-logging-v1-fcg4b 1/1 Running 3 1h
kube-system kube-dns-v20-wpip4 3/3 Running 0 1h
kube-system kube-proxy-ip-172-20-0-94.us-west-2.compute.internal 1/1 Running 0 1h
kube-system kube-proxy-ip-172-20-0-95.us-west-2.compute.internal 1/1 Running 0 1h
kube-system kube-proxy-ip-172-20-0-96.us-west-2.compute.internal 1/1 Running 15 1h
kube-system kube-proxy-ip-172-20-0-97.us-west-2.compute.internal 1/1 Running 17 1h
kube-system kubernetes-dashboard-v1.4.0-yxxgx 1/1 Running 0 1h
kube-system monitoring-influxdb-grafana-v4-7asy4 2/2 Running 0 1h
一些参考:
翻译自: https://www.javacodegeeks.com/2016/12/kubernetes-monitoring-heapster-influxdb-grafana.html