k8s-heapster监控搭建七
heapster安装部署(一)
wget https://www.qstack.com.cn/heapster-influxdb.zip
unzip heapster-influxdb.zip
vim heapster-influxdb/heapster-controller.yaml
所有涉及镜像的都改成私有镜像地址:
[root@k8s-master heapster-influxdb]# kubectl create -f .
service "monitoring-grafana" created
replicationcontroller "heapster" created
service "heapster" created
replicationcontroller "influxdb-grafana" created
service "monitoring-influxdb" created
[root@k8s-master heapster-influxdb]# kubectl get svc --namespace=kube-system
[root@k8s-master heapster-influxdb]# kubectl get pod -n kube-system
查看监控数据:因为是在kube-system的namespace中,所以左下角要切换namespace
监控的信息是怎么取出来的,每个node节点里面都由kubelete服务和kube-proxyf服务,早期还要安装cAdvisor服务,后期版本cAdvisor都被集成到了kubelet中;
在/etc/kubernetes/kubelet的配置文件中,Kubelet_args加入--cadvisor-port=8080;重启kubelet服务,这是配置cadvisor监控指标信息访问就用192.168.23.146:8080
K8s--弹性伸缩
弹性伸缩全称是:Horizontal Pod Autoscaler的,操作对象是Replication Controller、ReplicaSet或Deployment对应的Pod,根据观察到的CPU使用量与用户的阈值进行比对,做出是否需要增减实例数量的决策。controller目前使用heapSter来检测CPU使用量,检测周期默认是30秒。
主要就是根据资源的限制来做的
hpa演示 vim nginx-rc.yaml …… spec: containers: - name: myweb image: 192.168.23.146:5000/nginx:1.13 ports: - containerPort: 80 resources: limits: cpu: 100m memory: 50Mi requests: cpu: 100m memory: 50Mi
创建hpa
kubectl autoscale replicationcontroller myweb --max=8 --min=1 --cpu-percent=10
pod最大个数为8;最小为1;cpu达到10%的时候,我们触发hpa