k8s kubeedge装置metrics-server监控节点cpu内存应用状况

官网装置地址: https://kubeedge.io/en/docs/a...

k8s的master节点上装置metrics-server

#在k8s的master节点上执行#创立目录mkdir metrics-server #下载deploy文件wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.0/components.yaml -O deploy.yaml#批改配置如下,能够参考官网的配置vim deploy.yaml     spec:      affinity:        nodeAffinity:          requiredDuringSchedulingIgnoredDuringExecution:            nodeSelectorTerms:            - matchExpressions:              - key: node-role.kubernetes.io/master                operator: Exists      tolerations:      - key: node-role.kubernetes.io/master        operator: Exists        effect: NoSchedule      hostNetwork: true      containers:      - args:        - --kubelet-insecure-tls        - --cert-dir=/tmp        - --secure-port=4443#deploy里的镜像须要翻墙下载docker pull k8s.gcr.io/metrics-server/metrics-server:v0.4.0#我先本地翻墙,把镜像下载下来而后导过来的docker save -o metrics-server-image.tar  k8s.gcr.io/metrics-server/metrics-server:v0.4.0docker load -i metrics-server-image.tar #大家能够在docker hub下载我推上去的镜像docker push beyondyinjl/metrics-server:v0.4.0#而后批改镜像名docker tag beyondyinjl/metrics-server:v0.4.0 k8s.gcr.io/metrics-server/metrics-server:v0.4.0#利用kubectl apply -f deploy.yaml#过一会,等启动胜利后,应用命令查看内存CPU状况kubectl top node#回显如下:NAME          CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   edge-node-1   2100m        52%    1579Mi          42%       k8s-master    1404m        35%    12325Mi         78%       

kubeedge节点开启CPU内存的监控

官网文档地址: https://github.com/kubeedge/k...

在部署metrics-server之前,kubectl logs必须激活性能

#在云节点上操作:#用户更改为rootsudo su#确保您能够找到kubernetes 的ca.crt和ca.key文件ls /etc/kubernetes/pki/#设置环境CLOUDCOREIPS。环境变量设置为指定cloudcore的IP地址export CLOUDCOREIPS="192.168.3.100"echo $CLOUDCOREIPScp $GOPATH/src/github.com/kubeedge/kubeedge/build/tools/certgen.sh /etc/kubeedge/cd /etc/kubeedge/#从certgen.sh生成证书/etc/kubeedge/certgen.sh stream#须要在云主机上设置iptables。(此命令应该在每个apiserver部署的节点上执行。)  iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -Xiptables -t nat -A OUTPUT -p tcp --dport 10350 -j DNAT --to $CLOUDCOREIPS:10003#批改云主机 enable: truevim /etc/kubeedge/config/cloudcore.yamlcloudStream:  enable: true  streamPort: 10003  tlsStreamCAFile: /etc/kubeedge/ca/streamCA.crt  tlsStreamCertFile: /etc/kubeedge/certs/stream.crt  tlsStreamPrivateKeyFile: /etc/kubeedge/certs/stream.key  tlsTunnelCAFile: /etc/kubeedge/ca/rootCA.crt  tlsTunnelCertFile: /etc/kubeedge/certs/server.crt  tlsTunnelPrivateKeyFile: /etc/kubeedge/certs/server.key  tunnelPort: 10004#重启cloudcoresystemctl status cloudcore.servicesystemctl restart cloudcore.service
#在边缘节点上操作#批改 enable: true server: 192.168.x.x:10004vim /etc/kubeedge/config/edgecore.yamledgeStream:  enable: true  handshakeTimeout: 30  readDeadline: 15  server: 192.168.3.100:10004  tlsTunnelCAFile: /etc/kubeedge/ca/rootCA.crt  tlsTunnelCertFile: /etc/kubeedge/certs/server.crt  tlsTunnelPrivateKeyFile: /etc/kubeedge/certs/server.key  writeDeadline: 15#重启edge coresystemctl status edgecore.service systemctl restart edgecore.service

shell脚本动静替换

#备份一下cp /etc/kubeedge/config/edgecore.yaml /etc/kubeedge/config/edgecore.yaml.bak#删除edgeStream的下一行sed -i '/edgeStream:/{n;d}' /etc/kubeedge/config/edgecore.yaml.bak#在edgeStream的下一行增加一行:    enable: truesed -i -e '/edgeStream:/{s|$|\n    enable: true|}'  /etc/kubeedge/config/edgecore.yaml.bak#删除edgeStream的下第4行sed -i '/edgeStream:/{n;n;n;n;d}' /etc/kubeedge/config/edgecore.yaml#在edgeStream的下第3行后增加一行,也就是第4行:    server: 192.168.3.100:10004sed -i -e '/edgeStream:/{n;n;n;s|$|\n    server: 192.168.3.100:10004|}'  /etc/kubeedge/config/edgecore.yaml#这里的 server: cloudIp:10004 会原样写入到文件sed -i -e '/edgeStream:/{n;n;n;s|$|\n    server: cloudIp:10004|}'  /etc/kubeedge/config/edgecore.yaml#替换文件中cloudIp为变量$cloudIp的内容如:192.168.3.100cloudIp=192.168.3.100sed -i "s/cloudIp/$cloudIp/g" /etc/kubeedge/config/edgecore.yaml