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