首页 > 技术文章 > k8s-heapster监控搭建七

csren12 2021-03-01 00:31 原文

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

推荐阅读