一、安装node-export

首先需要将node-exporter.yaml复制到~/k8s/文件夹下然后使用如下命令启动该程序:

  1. curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/node-exporter.yaml
  2. kubectl apply -f node-exporter.yaml

该组件用于收集宿主机器的相关运行指标,如果使用者需要关闭宿主开放的端口可以进行对应的修改。

二、安装kube-state-metrics

  1. curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/kube-state-metrics/kube-state-metrics-service-account.yaml
  2. kubectl apply -f kube-state-metrics-service-account.yaml
  3. curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/kube-state-metrics/kube-state-metrics-cluster-role.yaml
  4. kubectl apply -f kube-state-metrics-cluster-role.yaml
  5. curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/kube-state-metrics/kube-state-metrics-cluster-role-binding.yaml
  6. kubectl apply -f kube-state-metrics-cluster-role-binding.yaml
  7. curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/kube-state-metrics/kube-state-metrics-deployment.yaml
  8. kubectl apply -f kube-state-metrics-deployment.yaml
  9. curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/kube-state-metrics/kube-state-metrics-service.yaml
  10. kubectl apply -f kube-state-metrics-service.yaml
  • kube-state-metrics-service-account.yaml
  • kube-state-metrics-cluster-role.yaml
  • kube-state-metrics-cluster-role-binding.yaml
  • kube-state-metrics-deployment.yaml
  • kube-state-metrics-service.yaml

完成之后我们就可以监控K8S中POD等诸多资源信息。

三、安装Prometheus

首先我们需要将以下文件复制进去并按照此顺序依次执行并确保每次执行的正确即可:

  1. curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/prometheus/prometheus-rbac-setup.yaml
  2. kubectl apply -f prometheus-rbac-setup.yaml
  3. curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/prometheus/prometheus-configmap.yaml
  4. kubectl apply -f prometheus-configmap.yaml
  5. curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/prometheus/prometheus-deploy.yaml
  6. kubectl apply -f prometheus-deploy.yaml
  7. curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/prometheus/prometheus-svc.yaml
  8. kubectl apply -f prometheus-svc.yaml
  • prometheus-rbac-setup.yaml
  • prometheus-configmap.yaml
  • prometheus-deploy.yaml
  • prometheus-svc.yaml

确保完成之后可以通过访问任意宿主的30003端口查看是否运行正常。

四、安装Grafana

首先我们需要将以下文件复制进去并按照此顺序以此执行并确保每次执行的正确即可:

curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/grafana/grafana-deploy.yaml
kubectl apply -f grafana-deploy.yaml

curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/grafana/grafana-svc.yaml
kubectl apply -f grafana-svc.yaml

curl -O https://raw.githubusercontent.com/OrvilleX/Dockerfiles/master/k8smonitor/grafana/grafana-ing.yaml
kubectl apply -f grafana-ing.yaml
  • grafana-deploy.yaml
  • grafana-svc.yaml
  • grafana-ing.yaml

因为能够使用Grafana看到我们所关心的指标,我们需要导入以下资源配置具体的看板。

https://github.com/OrvilleX/Dockerfiles/blob/master/k8smonitor/grafana/k8s-pgmon-cadvisor-brief.json
https://github.com/OrvilleX/Dockerfiles/blob/master/k8smonitor/grafana/k8s-pgmon-cadvisor-namespace.json
https://github.com/OrvilleX/Dockerfiles/blob/master/k8smonitor/grafana/k8s-pgmon-docker-monitoring-all.json
https://github.com/OrvilleX/Dockerfiles/blob/master/k8smonitor/grafana/k8s-pgmon-etcd-external-cn.json
https://github.com/OrvilleX/Dockerfiles/blob/master/k8smonitor/grafana/k8s-pgmon-node-exporter-brief.json
https://github.com/OrvilleX/Dockerfiles/blob/master/k8smonitor/grafana/k8s-pgmon-node-exporter-describe.json
https://github.com/OrvilleX/Dockerfiles/blob/master/k8smonitor/grafana/k8s-pgmon-node-exporter-docker.json
https://github.com/OrvilleX/Dockerfiles/blob/master/k8smonitor/grafana/k8s-pgmon-node-exporter-server-metrics.json