Docker和K8S容器监控

本文记录Docker容器和K8S集群中一些监控命令。

Docker基本监控

自带常用命令

  • docker ps -a:查看进程
  • docker top 容器id:查看容器资源利用
  • docker status:实时查看容器资源

图形化工具weavescope

部署

1
2
3
sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod +x /usr/local/bin/scope
scope launch 本机ip


K8S监控

计算资源分析与监控工具:heapster + dashboard + grafana

部署:下载heapster 包,进入deploy目录,修改相关yaml文件,启动。

集群自动伸缩设置

集群cpu或内存达到一定峰值,自动扩容pod

1596177920787

启用heapster,然后在集群启动时获取cpu利用率等情况,运行以下命令:

1
2
3
minikube addons enable heapster
minikube addons list
minikube start --extra-config=controller-manager.HorizontalPodAutoscalerUseRESTClients=false

1596179129619

然后按照官方文档设置水平扩展,cpu利用率超过50%即扩展,机器最少1台,最多10台

1
2
3
4
kubectl run php-apache --image=k8s.gcr.io/hpa-example --requests=cpu=200m --expose --port=80
kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10
kubectl get deployment php-apache
kubectl get horizontalpodautoscaler


log采集和展示:ELK+Fluentd

部署

1
2
3
4
kubectl get node
kubectl label node --all beta.kubernetes.io/fluentd-ds-ready=true
kubectl create -f logging/
kubectl get svc --namespace=kube-system


K8S集群监控方案:婆罗米修斯Prometheus

部署

1
2
3
4
kubectl get node
kubectl create -f prometheus/
kubectl get svc
kubectl get pod -o wide


-------------本文结束感谢您的阅读-------------

本文标题:Docker和K8S容器监控

文章作者:Awebone

发布时间:2020年07月31日 - 15:07

最后更新:2020年08月03日 - 15:08

原始链接:https://www.awebone.com/posts/194a5065/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。