Performance 为什么GKE节点在没有POD的情况下在开始时平均负载如此之高?
我们有一个带有3个节点的小GKE云(2个节点n1-s1和另一个节点n1-s2),让我们调用它们(a、B和C),运行版本“v1.14.10-GKE.27” 昨天,在MySQL POD出现性能问题后,我们开始挖掘问题的原因,并发现虚拟机节点(a)和(B)的平均负载较高。。。(C) 在之后创建,以便将DB pod移到内部 在我们的检查(kubectl top nodes)和(kubectl-n MYNAMESPACE top pods)中,我们发现节点中使用的CPU/内存是中等的,大约60%的CPU和70%的内存 好的,我们做了这个测试。我们排空节点A并重新启动虚拟机。通过这样做:Performance 为什么GKE节点在没有POD的情况下在开始时平均负载如此之高?,performance,kubernetes,virtual-machine,google-kubernetes-engine,Performance,Kubernetes,Virtual Machine,Google Kubernetes Engine,我们有一个带有3个节点的小GKE云(2个节点n1-s1和另一个节点n1-s2),让我们调用它们(a、B和C),运行版本“v1.14.10-GKE.27” 昨天,在MySQL POD出现性能问题后,我们开始挖掘问题的原因,并发现虚拟机节点(a)和(B)的平均负载较高。。。(C) 在之后创建,以便将DB pod移到内部 在我们的检查(kubectl top nodes)和(kubectl-n MYNAMESPACE top pods)中,我们发现节点中使用的CPU/内存是中等的,大约60%的CPU和
kubectl drain --ignore-daemonsets
gcloud compute ssh A
sudo reboot
重新启动虚拟机节点(A)并等待大约15分钟后,我们再次连接,并看到以下情况:
gcloud compute ssh A
top
显示大约1.0(0.9-1.2)的平均负载。。。但这台机器(1核和3.5GB内存)内部没有吊舱。
我检查了机器大约30分钟,GKE的核心linux系统的平均负载总是接近1.0
为什么?
然后我又做了一次检查。在节点(B)中,只有一个SFTP服务器(CPU使用量约为3毫秒)。
我做了同样的测试:
gcloud compute ssh B
top
这表明:
top - 19:02:48 up 45 days, 4:40, 1 user, load average: 1.00, 1.04, 1.09
Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.4 us, 1.3 sy, 0.0 ni, 95.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 3697.9 total, 1383.6 free, 626.3 used, 1688.1 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 2840.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1065 root 20 0 924936 117608 66164 S 1.7 3.1 1356:05 kubelet
1932 root 20 0 768776 82748 11676 S 1.0 2.2 382:32.65 ruby
1008 root 20 0 806080 90408 26644 S 0.7 2.4 818:40.25 dockerd
183 root 20 0 0 0 0 S 0.3 0.0 0:26.09 jbd2/sda1-8
1 root 20 0 164932 7212 4904 S 0.0 0.2 17:47.38 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.09 kthreadd
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
但是:
CPU使用寿命仅为1m,RAM为11MB
为什么平均负载如此之高
我担心这一点,因此这种平均负载可能会影响集群节点中的POD的性能
另一方面,我在office安装了一个测试用的kubernetes集群,其中包含Debian VM节点和一个节点(2核4 GB RAM),但运行了Zammad和Jira的POD,显示了这个平均负载:
库伯内特斯云办公室
ssh user@node02
top
top - 21:11:29 up 17 days, 6:04, 1 user, load average: 0,21, 0,37, 0,21
Tasks: 161 total, 2 running, 159 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2,4 us, 1,0 sy, 0,0 ni, 96,3 id, 0,3 wa, 0,0 hi, 0,0 si, 0,0 st
MiB Mem : 3946,8 total, 213,4 free, 3249,4 used, 483,9 buff/cache
MiB Swap: 0,0 total, 0,0 free, 0,0 used. 418,9 avail Mem
在Office的节点上,平均负载、运行吊舱约为0.21-0.4。。。。
这是更现实的,类似于它的预期
另一个问题是,当我通过ssh连接到GKE节点(A、B或C)时,没有像iostat和similar这样的工具来监控硬驱动程序/存储,所以我不知道为什么基本KDE节点的平均负载如此之高,没有调度pod
今天,在关键时刻,这是GKE云状态:
kubectl top nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
gke-n1-s1-A 241m 25% 1149Mi 43%
gke-n1-s1-B 81m 8% 1261Mi 47%
gke-n1-s2-C 411m 21% 1609Mi 28%
但节点B中的顶部显示
top - 11:20:46 up 45 days, 20:58, 1 user, load average: 1.66, 1.25, 1.13
Tasks: 128 total, 1 running, 127 sleeping, 0 stopped, 0 zombie
%Cpu(s): 6.0 us, 2.3 sy, 0.0 ni, 91.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 3697.9 total, 1367.8 free, 629.6 used, 1700.6 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 2837.7 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1065 root 20 0 924936 117608 66164 S 3.3 3.1 1376:27 kubelet
1008 root 20 0 806080 90228 26644 S 1.3 2.4 829:21.65 dockerd
2590758 root 20 0 136340 29056 20908 S 0.7 0.8 18:38.56 kube-dns
443 root 20 0 36200 19736 5808 S 0.3 0.5 3:51.49 google_accounts
1932 root 20 0 764164 82748 11676 S 0.3 2.2 387:52.03 ruby
1 root 20 0 164932 7212 4904 S 0.0 0.2 18:03.44 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.09 kthreadd
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
7 root 20 0 0 0 0 S 0.0 0.0 14:55.03 ksoftirqd/0
编辑1:最后一次测试:
1。-创建一个包含1个节点的池
gcloud container node-pools create testpool --cluster MYCLUSTER --num-nodes=1 --machine-type=n1-standard-1
NAME MACHINE_TYPE DISK_SIZE_GB NODE_VERSION
testpool n1-standard-1 100 1.14.10-gke.36
2.-排空节点并检查节点状态
kubectl drain --ignore-daemonsets gke-MYCLUSTER-testpool-a84f3036-16lr
kubectl get nodes
gke-MYCLUSTER-testpool-a84f3036-16lr Ready,SchedulingDisabled <none> 2m3s v1.14.10-gke.36
1.24无吊舱的平均载荷
编辑2
谢谢@willrof。我尝试使用“工具箱”,运行“top”和“iotop”命令。我没有发现异常,但平均负荷约为(1-1.2)。正如您所看到的,CPU“什么也不做”,IO操作接近于零。结果如下:
iotop
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd noresume noswap cros_efi
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
2591747 be/4 nobody 0.00 B/s 0.00 B/s 0.00 % 0.00 % monitor --source=kube-proxy:http://local~ng.googleapis.com/ --export-interval=120s
4 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]
3399685 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % sudo systemd-nspawn --directory=/var/lib~/resolv.conf:/etc/resolv.conf --user=root
6 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [mm_percpu_wq]
7 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh]
10 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
12 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [cpuhp/0]
13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kdevtmpfs]
14 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [netns]
15 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khungtaskd]
16 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [oom_reaper]
17 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [writeback]
18 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kcompactd0]
19 be/7 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khugepaged]
20 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [crypto]
21 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kintegrityd]
22 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kblockd]
23 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ata_sff]
24 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdogd]
2590745 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % containerd-shim -namespace moby -workdir~runtime-root /var/run/docker/runtime-runc
atop
PRC | sys 14h12m | user 41h11m | #proc 140 | #trun 1 | #tslpi 544 | #tslpu 1 | #zombie 0 | clones 118e5 | #exit 0 |
CPU | sys 2% | user 5% | irq 0% | idle 93% | wait 0% | steal 0% | guest 0% | curf 2.30GHz | curscal ?% |
CPL | avg1 1.17 | avg5 1.17 | avg15 1.17 | | csw 669768e4 | | intr 26835e5 | | numcpu 1 |
MEM | tot 3.6G | free 221.1M | cache 2.1G | buff 285.2M | slab 313.3M | shmem 2.2M | vmbal 0.0M | hptot 0.0M | hpuse 0.0M |
SWP | tot 0.0M | free 0.0M | | | | | | vmcom 6.4G | vmlim 1.8G |
PAG | scan 54250 | steal 37777 | stall 0 | | | | | swin 0 | swout 0 |
LVM | dm-0 | busy 0% | read 6747 | write 0 | KiB/r 36 | KiB/w 0 | MBr/s 0.0 | MBw/s 0.0 | avio 2.00 ms |
DSK | sda | busy 0% | read 19322 | write 5095e3 | KiB/r 37 | KiB/w 8 | MBr/s 0.0 | MBw/s 0.0 | avio 0.75 ms |
DSK | sdc | busy 0% | read 225 | write 325 | KiB/r 24 | KiB/w 13315 | MBr/s 0.0 | MBw/s 0.0 | avio 1.75 ms |
DSK | sdb | busy 0% | read 206 | write 514 | KiB/r 26 | KiB/w 10 | MBr/s 0.0 | MBw/s 0.0 | avio 0.93 ms |
NET | transport | tcpi 69466e3 | tcpo 68262e3 | udpi 135509 | udpo 135593 | tcpao 4116e3 | tcppo 2797e3 | tcprs 738077 | udpie 0 |
NET | network | ipi 222967e3 | ipo 216603e3 | ipfrw 1533e5 | deliv 6968e4 | | | icmpi 74445 | icmpo 6254 |
NET | vethf6a 0% | pcki 40168e3 | pcko 39391e3 | sp 10 Gbps | si 15 Kbps | so 43 Kbps | erri 0 | erro 0 | drpo 0 |
NET | veth046 0% | pcki 8800433 | pcko 9133058 | sp 10 Gbps | si 2 Kbps | so 4 Kbps | erri 0 | erro 0 | drpo 0 |
NET | vethe89 0% | pcki 10923 | pcko 23560 | sp 10 Gbps | si 0 Kbps | so 0 Kbps | erri 0 | erro 0 | drpo 0 |
NET | veth647 0% | pcki 2583709 | pcko 2845889 | sp 10 Gbps | si 0 Kbps | so 0 Kbps | erri 0 | erro 0 | drpo 0 |
NET | veth6be 0% | pcki 374054 | pcko 448480 | sp 10 Gbps | si 0 Kbps | so 0 Kbps | erri 0 | erro 0 | drpo 0 |
NET | eth0 ---- | pcki 12094e4 | pcko 11533e4 | sp 0 Mbps | si 103 Kbps | so 56 Kbps | erri 0 | erro 0 | drpo 0 |
NET | cbr0 ---- | pcki 98061e3 | pcko 92356e3 | sp 0 Mbps | si 36 Kbps | so 71 Kbps | erri 0 | erro 0 | drpo 0 |
NET | lo ---- | pcki 9076898 | pcko 9076898 | sp 0 Mbps | si 5 Kbps | so 5 Kbps | erri 0 | erro 0 | drpo 0 |
*** system and process activity since boot ***
有人能帮我吗
我能做什么
这种行为在没有POD的GKE节点中正常吗
我应该换另一个Kubernetes提供商吗
提前感谢。在与谷歌支持部门交换消息后,谷歌虚拟机的稳定发布版本似乎出现了问题 最后一个官方稳定版本是v1.14.10-gke.36 我们已经检查了自v.1.14.10-gke.27以来的不良负载性能(我们没有提前检查) 我们正在等待谷歌产品工程师对此的回应。 我们查看了今天可用的最后一个版本“1.16.9-gke.2”,iddle中的平均负载是正常的,大约为0.15或更低,但这不是一个“稳定”的版本 如果您使用gcloud命令创建集群,它将为您提供最后一个“stable”,这是今天的“v1.14.10-gke.36”,因此使用“v1.14.10-gke.X”的每个人都应该有这个问题 解决办法是 a) 等待谷歌产品工程师的官方回应 b) 移动/更新到其他版本的集群/节点(可能不稳定) 编辑。2020/06/24. 谷歌的回应
gcloud container node-pools create testpool --cluster MYCLUSTER --num-nodes=1 --machine-type=n1-standard-1
NAME MACHINE_TYPE DISK_SIZE_GB NODE_VERSION
testpool n1-standard-1 100 1.14.10-gke.36
1-我已将您的反馈告知我们的GKE产品工程团队
他们能够在gke版本1.14.10-gke-36中重现该问题
在cos和cos_容器中,但平均负载和
ubuntu_容器的平均负载较低。所以,我们的GKE产品
工程师建议快速解决方案来升级集群和
节点池为1.15。对于永久性修复,我们的GKE产品团队
正在工作,但到目前为止,我没有任何ETA可供分享
2-如何升级集群:为了获得最佳实践,我找到了
文档[1],这样您就可以用零升级集群
停工期请注意,主机(群集)正在升级
工作负载不会受到影响,但我们将无法访问api
服务器。因此,我们不能部署新的工作负载或进行任何更改或更改
在升级过程中监视状态。但是我们可以让集群
具有多个主节点的区域集群。本文件也是如此
建议采用两种方式升级nodepool滚动更新和迁移
使用节点池。现在,为了解决PV和PVC问题,我在
在nodepool升级期间发现的项目,PVC不会被删除
因此,PV不会被删除(尽管回收策略定义为
删除)。但是我建议你备份你的磁盘
(与PV相关)并按照以下步骤重新创建PV
文件[2]
3-最后,为什么1.14.10-gke.36是默认版本?默认值
版本逐步设置和更新,自文件[3]最后一个版本开始
时间设定为5月13日的1.14.10-gke-36,这可以在
任何下一次更新。但是我们可以手动定义gke集群版本
请让我知道,如果你有疑问或觉得我错过了什么。对于1.14.10-gke-36版本更新,您可以期待我在美国东部夏令时周五(2020年6月26日)16:00更新
[1]-
[2]-
[3]-
这看起来不正常。我在n1-s2上运行GKE集群,空闲时的平均负载为0.10。尝试联系谷歌支持。我尝试重现您的问题,使用与您相同的命令创建了一个节点池,重新启动并运行top 10分钟:
最多10分钟,1个用户,平均负载:0.19、0.12、0.08
您是否会在该节点中再次运行top以查看是否发生了变化?哈夫
iotop
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd noresume noswap cros_efi
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
2591747 be/4 nobody 0.00 B/s 0.00 B/s 0.00 % 0.00 % monitor --source=kube-proxy:http://local~ng.googleapis.com/ --export-interval=120s
4 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]
3399685 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % sudo systemd-nspawn --directory=/var/lib~/resolv.conf:/etc/resolv.conf --user=root
6 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [mm_percpu_wq]
7 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh]
10 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
12 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [cpuhp/0]
13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kdevtmpfs]
14 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [netns]
15 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khungtaskd]
16 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [oom_reaper]
17 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [writeback]
18 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kcompactd0]
19 be/7 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khugepaged]
20 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [crypto]
21 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kintegrityd]
22 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kblockd]
23 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ata_sff]
24 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdogd]
2590745 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % containerd-shim -namespace moby -workdir~runtime-root /var/run/docker/runtime-runc
atop
PRC | sys 14h12m | user 41h11m | #proc 140 | #trun 1 | #tslpi 544 | #tslpu 1 | #zombie 0 | clones 118e5 | #exit 0 |
CPU | sys 2% | user 5% | irq 0% | idle 93% | wait 0% | steal 0% | guest 0% | curf 2.30GHz | curscal ?% |
CPL | avg1 1.17 | avg5 1.17 | avg15 1.17 | | csw 669768e4 | | intr 26835e5 | | numcpu 1 |
MEM | tot 3.6G | free 221.1M | cache 2.1G | buff 285.2M | slab 313.3M | shmem 2.2M | vmbal 0.0M | hptot 0.0M | hpuse 0.0M |
SWP | tot 0.0M | free 0.0M | | | | | | vmcom 6.4G | vmlim 1.8G |
PAG | scan 54250 | steal 37777 | stall 0 | | | | | swin 0 | swout 0 |
LVM | dm-0 | busy 0% | read 6747 | write 0 | KiB/r 36 | KiB/w 0 | MBr/s 0.0 | MBw/s 0.0 | avio 2.00 ms |
DSK | sda | busy 0% | read 19322 | write 5095e3 | KiB/r 37 | KiB/w 8 | MBr/s 0.0 | MBw/s 0.0 | avio 0.75 ms |
DSK | sdc | busy 0% | read 225 | write 325 | KiB/r 24 | KiB/w 13315 | MBr/s 0.0 | MBw/s 0.0 | avio 1.75 ms |
DSK | sdb | busy 0% | read 206 | write 514 | KiB/r 26 | KiB/w 10 | MBr/s 0.0 | MBw/s 0.0 | avio 0.93 ms |
NET | transport | tcpi 69466e3 | tcpo 68262e3 | udpi 135509 | udpo 135593 | tcpao 4116e3 | tcppo 2797e3 | tcprs 738077 | udpie 0 |
NET | network | ipi 222967e3 | ipo 216603e3 | ipfrw 1533e5 | deliv 6968e4 | | | icmpi 74445 | icmpo 6254 |
NET | vethf6a 0% | pcki 40168e3 | pcko 39391e3 | sp 10 Gbps | si 15 Kbps | so 43 Kbps | erri 0 | erro 0 | drpo 0 |
NET | veth046 0% | pcki 8800433 | pcko 9133058 | sp 10 Gbps | si 2 Kbps | so 4 Kbps | erri 0 | erro 0 | drpo 0 |
NET | vethe89 0% | pcki 10923 | pcko 23560 | sp 10 Gbps | si 0 Kbps | so 0 Kbps | erri 0 | erro 0 | drpo 0 |
NET | veth647 0% | pcki 2583709 | pcko 2845889 | sp 10 Gbps | si 0 Kbps | so 0 Kbps | erri 0 | erro 0 | drpo 0 |
NET | veth6be 0% | pcki 374054 | pcko 448480 | sp 10 Gbps | si 0 Kbps | so 0 Kbps | erri 0 | erro 0 | drpo 0 |
NET | eth0 ---- | pcki 12094e4 | pcko 11533e4 | sp 0 Mbps | si 103 Kbps | so 56 Kbps | erri 0 | erro 0 | drpo 0 |
NET | cbr0 ---- | pcki 98061e3 | pcko 92356e3 | sp 0 Mbps | si 36 Kbps | so 71 Kbps | erri 0 | erro 0 | drpo 0 |
NET | lo ---- | pcki 9076898 | pcko 9076898 | sp 0 Mbps | si 5 Kbps | so 5 Kbps | erri 0 | erro 0 | drpo 0 |
*** system and process activity since boot ***