Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Kubernetes节点状态从;准备好了吗;至;“未准备就绪”;通过改变CPU利用率、内存利用率或磁盘压力?_Kubernetes - Fatal编程技术网

如何将Kubernetes节点状态从;准备好了吗;至;“未准备就绪”;通过改变CPU利用率、内存利用率或磁盘压力?

如何将Kubernetes节点状态从;准备好了吗;至;“未准备就绪”;通过改变CPU利用率、内存利用率或磁盘压力?,kubernetes,Kubernetes,我已经将kubernetes群集设置为1个主节点和1个工作节点。出于测试目的,我将CPU利用率和内存利用率提高到100%,但静止节点未处于“NotReady”状态。 我正在测试压力状态。。如何将MemoryPressure的状态标志更改为true,或将DiskPressure或PIDPressure更改为true 以下是我的主节点条件:- 条件: Type Status LastHeartbeatTime LastTransit

我已经将kubernetes群集设置为1个主节点和1个工作节点。出于测试目的,我将CPU利用率和内存利用率提高到100%,但静止节点未处于“NotReady”状态。 我正在测试压力状态。。如何将MemoryPressure的状态标志更改为true,或将DiskPressure或PIDPressure更改为true

以下是我的主节点条件:-

条件:

 Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----                 ------  -----------------                 ------------------                ------                       -------
  NetworkUnavailable   False   Wed, 27 Nov 2019 14:36:29 +0000   Wed, 27 Nov 2019 14:36:29 +0000   WeaveIsUp                    Weave pod has set this
  MemoryPressure       False   Thu, 28 Nov 2019 07:36:46 +0000   Fri, 22 Nov 2019 13:30:38 +0000   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure         False   Thu, 28 Nov 2019 07:36:46 +0000   Fri, 22 Nov 2019 13:30:38 +0000   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure          False   Thu, 28 Nov 2019 07:36:46 +0000   Fri, 22 Nov 2019 13:30:38 +0000   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready                True    Thu, 28 Nov 2019 07:36:46 +0000   Fri, 22 Nov 2019 13:30:48 +0000   KubeletReady                 kubelet is posting ready status
以下是播客信息:-

Non-terminated Pods:         (8 in total)
  Namespace                  Name                                                                   CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
  ---------                  ----                                                                   ------------  ----------  ---------------  -------------  ---
  kube-system                coredns-5644d7b6d9-dm8v7                                               100m (5%)     0 (0%)      70Mi (0%)        170Mi (2%)     22d
  kube-system                coredns-5644d7b6d9-mz5rm                                               100m (5%)     0 (0%)      70Mi (0%)        170Mi (2%)     22d
  kube-system                etcd-ip-172-31-28-186.us-east-2.compute.internal                       0 (0%)        0 (0%)      0 (0%)           0 (0%)         22d
  kube-system                kube-apiserver-ip-172-31-28-186.us-east-2.compute.internal             250m (12%)    0 (0%)      0 (0%)           0 (0%)         22d
  kube-system                kube-controller-manager-ip-172-31-28-186.us-east-2.compute.internal    200m (10%)    0 (0%)      0 (0%)           0 (0%)         22d
  kube-system                kube-proxy-cw8vv                                                       0 (0%)        0 (0%)      0 (0%)           0 (0%)         22d
  kube-system                kube-scheduler-ip-172-31-28-186.us-east-2.compute.internal             100m (5%)     0 (0%)      0 (0%)           0 (0%)         22d
  kube-system                weave-net-ct9zb                                                        20m (1%)      0 (0%)      0 (0%)           0 (0%)         22d
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests    Limits
  --------           --------    ------
  cpu                770m (38%)  0 (0%)
  memory             140Mi (1%)  340Mi (4%)
  ephemeral-storage  0 (0%)      0 (0%)
此处为工作节点:-

Conditions:
  Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----                 ------  -----------------                 ------------------                ------                       -------
  NetworkUnavailable   False   Thu, 28 Nov 2019 07:00:08 +0000   Thu, 28 Nov 2019 07:00:08 +0000   WeaveIsUp                    Weave pod has set this
  MemoryPressure       False   Thu, 28 Nov 2019 07:39:03 +0000   Thu, 28 Nov 2019 07:00:00 +0000   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure         False   Thu, 28 Nov 2019 07:39:03 +0000   Thu, 28 Nov 2019 07:00:00 +0000   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure          False   Thu, 28 Nov 2019 07:39:03 +0000   Thu, 28 Nov 2019 07:00:00 +0000   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready                True    Thu, 28 Nov 2019 07:39:03 +0000   Thu, 28 Nov 2019 07:00:00 +0000   KubeletReady                 kubelet is posting ready status

只需在要处于NotReady状态的节点上关闭kubelet服务

只需在要处于NotReady状态的节点上关闭kubelet服务

有几种方法可以使节点进入NotReady状态,但不是通过POD。当一个Pod开始消耗太多内存时,kubelet会杀死该Pod,以精确地保护节点

我想你应该测试当一个节点发生故障时会发生什么,在这种情况下,你应该将其耗尽。换句话说,要模拟节点问题,应执行以下操作:

kubectl排水节点

尽管如此,还是要查看
kubectl drain--help
,看看在什么情况下会发生什么

编辑

实际上,我尝试访问节点并直接在节点上运行压力,这就是20秒内发生的情况:

root@gke-klusta-lemmy-3ce02acd-djhm:/# stress --cpu 16 --io 8 --vm 8 --vm-bytes 2G
在节点上检查:

$ kubectl get no -w | grep gke-klusta-lemmy-3ce02acd-djhm
gke-klusta-lemmy-3ce02acd-djhm   Ready    <none>   15d     v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm   Ready   <none>   15d   v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm   NotReady   <none>   15d   v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm   NotReady   <none>   15d   v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm   NotReady   <none>   15d   v1.13.11-gke.14
$kubectl获得编号-w | grep gke-klusta-lemmy-3ce02acd-djhm
gke-klusta-lemmy-3ce02acd-djhm就绪15d v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm就绪15d v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm NotReady 15d v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm NotReady 15d v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm NotReady 15d v1.13.11-gke.14

我运行的节点非常弱。1CPU@4GBRAM有几种方法可以使节点进入NotReady状态,但不能通过POD。当一个Pod开始消耗太多内存时,kubelet会杀死该Pod,以精确地保护节点

我想你应该测试当一个节点发生故障时会发生什么,在这种情况下,你应该将其耗尽。换句话说,要模拟节点问题,应执行以下操作:

kubectl排水节点

尽管如此,还是要查看
kubectl drain--help
,看看在什么情况下会发生什么

编辑

实际上,我尝试访问节点并直接在节点上运行压力,这就是20秒内发生的情况:

root@gke-klusta-lemmy-3ce02acd-djhm:/# stress --cpu 16 --io 8 --vm 8 --vm-bytes 2G
在节点上检查:

$ kubectl get no -w | grep gke-klusta-lemmy-3ce02acd-djhm
gke-klusta-lemmy-3ce02acd-djhm   Ready    <none>   15d     v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm   Ready   <none>   15d   v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm   NotReady   <none>   15d   v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm   NotReady   <none>   15d   v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm   NotReady   <none>   15d   v1.13.11-gke.14
$kubectl获得编号-w | grep gke-klusta-lemmy-3ce02acd-djhm
gke-klusta-lemmy-3ce02acd-djhm就绪15d v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm就绪15d v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm NotReady 15d v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm NotReady 15d v1.13.11-gke.14
gke-klusta-lemmy-3ce02acd-djhm NotReady 15d v1.13.11-gke.14


我运行的节点非常弱。1CPU@4GBRAM

我想通过CPU、内存或磁盘的压力来完成它,但事情不是这样的。当存在磁盘压力或资源不足时,POD将从该节点退出。您的意思是节点磁盘压力不会将节点状态更改为“NotReady”。。我想检查..如何使这些压力为真?部署一个或多个需要比节点容量更多cpu/内存的pod这将导致pod失败,但我需要节点压力我想通过cpu或内存或磁盘的压力来实现这一点。情况并非如此。当存在磁盘压力或资源不足时,POD将从该节点退出。您的意思是节点磁盘压力不会将节点状态更改为“NotReady”。。我想检查..如何将这些压力设置为真?部署一个或多个需要比节点容量更多cpu/内存的pod这将导致pod失败,但我需要节点压力我正在寻找将节点条件(MemoryPressure、DiskPressure、PIDPressure)的状态设置为真的方法,然后它也将变为“NotReady”状态..直接在节点上运行,是。我编辑了我的答案。如何从节点内部运行命令?我可以从实例运行它,强调--cpu 8--io 4--vm 3--vm字节1900M--24小时超时&cpu达到100%,内存也达到。。但是节点仍然处于就绪状态,因为实例来自节点,所以它是正确的。更强调它。更多的工人,更多的io。我的第一次测试比我发布的测试要弱得多,是的,已经有106%的时间了,什么都没有发生。但是当我升级到cpu 16、io 8、vm 8和vm字节到2G时,在20秒内,它杀死了节点。谢谢。。这件事已记不得了。。任何脱离磁盘压力或PID压力故障的方法我正在寻找将节点状态(MemoryPressure、DiskPressure、PIDPressure)设置为true的方法,然后它也将进入“NotReady”状态。直接在节点上运行,是的。我编辑了我的答案。如何从节点内部运行命令?我可以从实例运行它,强调--cpu 8--io 4--vm 3--vm字节1900M--24小时超时&cpu达到100%,内存也达到。。但是节点仍然处于就绪状态,因为实例来自节点,所以它是正确的。更强调它。更多的工人,更多的io。我的第一次测试比我发布的测试要弱得多,是的,已经有106%的时间了,什么都没有发生。但是当我升级到cpu 16、io 8、vm 8和vm字节到2G时,在20秒内,它杀死了节点。谢谢。。这件事已记不得了。。任何脱离磁盘压力或PID压力的方法都失败