Kubernetes 当集群中的一个节点的可请求内存不足时,为什么我的部署会进入挂起状态?

Kubernetes 当集群中的一个节点的可请求内存不足时,为什么我的部署会进入挂起状态?,kubernetes,kubectl,k3s,Kubernetes,Kubectl,K3s,我是kubernetes的新手,我在玩K3S。我通过在部署中打开副本来测试服务器的最大功率。在150时,我最薄弱的服务器达到了内存请求上限,无法为部署中的吊舱分配更多内存,从而使它们处于“挂起”状态。我看到节点的状态显示为“就绪,计划已禁用”,这一切都是有意义的 我不明白的是,为什么另一台服务器不接收这些挂起的部署并在那里部署它们 # kubectl get nodes -A NAME STATUS ROLES AGE

我是kubernetes的新手,我在玩K3S。我通过在部署中打开副本来测试服务器的最大功率。在150时,我最薄弱的服务器达到了内存请求上限,无法为部署中的吊舱分配更多内存,从而使它们处于“挂起”状态。我看到节点的状态显示为“就绪,计划已禁用”,这一切都是有意义的

我不明白的是,为什么另一台服务器不接收这些挂起的部署并在那里部署它们

# kubectl get nodes -A
NAME                 STATUS                     ROLES    AGE     VERSION
titan.zircon.local   Ready                      master   3d23h   v1.16.3-k3s.2
nexus.zircon.local   Ready,SchedulingDisabled   worker   2d21h   v1.16.3-k3s.2

# kubectl top nodes
NAME                 CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
nexus.zircon.local   170m         2%     3008Mi          25%       
titan.zircon.local   316m         0%     2313Mi          1%        

default       fedora-7c586469b4-ldq8l                   0/1     Pending             0          0s      <none>        <none>               <none>           <none>
default       fedora-7c586469b4-sbzph                   0/1     Pending             0          0s      <none>        <none>               <none>           <none>
default       fedora-7c586469b4-74mmh                   0/1     Pending             0          0s      <none>        <none>               <none>           <none>
default       fedora-7c586469b4-ldq8l                   0/1     Pending             0          0s      <none>        <none>               <none>           <none>
default       fedora-7c586469b4-k4669                   0/1     Pending             0          0s      <none>        <none>               <none>           <none>
default       fedora-7c586469b4-6gg2c                   0/1     Pending             0          0s      <none>        <none>               <none>           <none>
default       fedora-7c586469b4-sbzph                   0/1     Pending             0          0s      <none>        <none>               <none>           <none>
default       fedora-7c586469b4-74mmh                   0/1     Pending             0          0s      <none>        <none>               <none>           <none>
default       fedora-7c586469b4-k4669                   0/1     Pending             0          0s      <none>        <none>               <none>           <none>
default       fedora-7c586469b4-6gg2c                   0/1     Pending             0          0s      <none>        <none>               <none>           <none>
default       fedora-7c586469b4-94tx6                   0/1     Pending             0          7m43s   <none>        <none>               <none>           <none>
default       fedora-7c586469b4-k8bdl                   0/1     Pending             0          7m43s   <none>        <none>               <none>           <none>
default       fedora-7c586469b4-8d64k                   0/1     Pending             0          7m43s   <none>        <none>               <none>           <none>
default       fedora-7c586469b4-ldq8l                   0/1     Pending             0          2m59s   <none>        <none>               <none>           <none>
default       fedora-7c586469b4-sbzph                   0/1     Pending             0          2m59s   <none>        <none>               <none>           <none>
default       fedora-7c586469b4-74mmh                   0/1     Pending             0          2m59s   <none>        <none>               <none>           <none>
default       fedora-7c586469b4-k4669                   0/1     Pending             0          2m59s   <none>        <none>               <none>           <none>
default       fedora-7c586469b4-6gg2c                   0/1     Pending             0          2m59s   <none>        <none>               <none>           <none>

我相信我找到了我问题的答案。显然,对于我的主节点(剩余空间的节点)已经命中的110个吊舱,节点有一个上限,使其满了

# kubectl describe node titan.zircon.local
Name:               titan.zircon.local
Roles:              master
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/instance-type=k3s
                    beta.kubernetes.io/os=linux
                    k3s.io/hostname=titan.zircon.local
                    k3s.io/internal-ip=192.168.1.96
                    kubernetes.io/arch=amd64
                    kubernetes.io/hostname=titan.zircon.local
                    kubernetes.io/os=linux
                    node-role.kubernetes.io/master=true
Annotations:        flannel.alpha.coreos.com/backend-data: {"VtepMAC":"d2:3d:24:54:f1:cb"}
                    flannel.alpha.coreos.com/backend-type: vxlan
                    flannel.alpha.coreos.com/kube-subnet-manager: true
                    flannel.alpha.coreos.com/public-ip: 192.168.1.96
                    node.alpha.kubernetes.io/ttl: 0
                    volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Mon, 23 Dec 2019 15:54:12 -0500
Taints:             <none>
Unschedulable:      false
Conditions:
  Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----                 ------  -----------------                 ------------------                ------                       -------
  NetworkUnavailable   False   Fri, 27 Dec 2019 15:31:40 -0500   Fri, 27 Dec 2019 15:31:40 -0500   FlannelIsUp                  Flannel is running on this node
  MemoryPressure       False   Fri, 27 Dec 2019 15:55:49 -0500   Mon, 23 Dec 2019 15:54:12 -0500   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure         False   Fri, 27 Dec 2019 15:55:49 -0500   Mon, 23 Dec 2019 15:54:12 -0500   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure          False   Fri, 27 Dec 2019 15:55:49 -0500   Mon, 23 Dec 2019 15:54:12 -0500   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready                True    Fri, 27 Dec 2019 15:55:49 -0500   Fri, 27 Dec 2019 15:31:39 -0500   KubeletReady                 kubelet is posting ready status
Addresses:
  InternalIP:  192.168.1.96
  Hostname:    titan.zircon.local
Capacity:
 cpu:                32
 ephemeral-storage:  7623778Mi
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             131837268Ki
 pods:               110 <============HERE
Allocatable:
 cpu:                32
 ephemeral-storage:  7594405102166
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             131837268Ki
 pods:               110 <============HERE
System Info:
 Operating System:           linux
 Architecture:               amd64
 Container Runtime Version:  containerd://1.3.0-k3s.5
 Kubelet Version:            v1.16.3-k3s.2
 Kube-Proxy Version:         v1.16.3-k3s.2
PodCIDR:                     10.42.0.0/24
PodCIDRs:                    10.42.0.0/24
ProviderID:                  k3s://titan.zircon.local
Non-terminated Pods:         (110 in total)
  Namespace                  Name                                       CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
  ---------                  ----                                       ------------  ----------  ---------------  -------------  ---
  kube-system                metrics-server-6d684c7b5-5kpbr             0 (0%)        0 (0%)      0 (0%)           0 (0%)         4d
  kube-system                local-path-provisioner-58fb86bdfd-7b2ss    0 (0%)        0 (0%)      0 (0%)           0 (0%)         4d
#kubectl描述节点titan.zron.local
名称:titan.Zront.local
角色:硕士
标签:beta.kubernetes.io/arch=amd64
beta.kubernetes.io/实例类型=k3s
beta.kubernetes.io/os=linux
k3s.io/hostname=titan.zron.local
k3s.io/内部ip=192.168.1.96
kubernetes.io/arch=amd64
kubernetes.io/hostname=titan.zron.local
kubernetes.io/os=linux
节点角色.kubernetes.io/master=true
注释:flannel.alpha.coreos.com/backend-data:{“VtepMAC”:“d2:3d:24:54:f1:cb”}
flannel.alpha.coreos.com/backend-type:vxlan
flannel.alpha.coreos.com/kube-subnet-manager:true
flannel.alpha.coreos.com/public-ip:192.168.1.96
node.alpha.kubernetes.io/ttl:0
volumes.kubernetes.io/controller-managed-attach-detach:true
CreationTimestamp:2019年12月23日星期一15:54:12-0500
污点:
计划外:错误
条件:
键入状态LastHeartbeatTime LastTransitionTime原因消息
----                 ------  -----------------                 ------------------                ------                       -------
NetworkUnavailable False Fri,2019年12月27日15:31:40-0500 Fri,2019年12月27日15:31:40-0500 FlannelIsUp Flannel正在该节点上运行
MemoryPressure False Fri,2019年12月27日15:55:49-0500 Mon,2019年12月23日15:54:12-0500 KubelethSufficientMemory kubelet有足够的可用内存
DiskPressure False Fri,2019年12月27日15:55:49-0500 Mon,2019年12月23日15:54:12-0500 KubelethasNodeDiskPressure kubelet无磁盘压力
PIDPression False Fri,2019年12月27日15:55:49-0500 Mon,2019年12月23日15:54:12-0500 Kubelethassufficient PID kubelet有足够的可用PID
Ready True Fri,2019年12月27日15:55:49-0500 Fri,2019年12月27日15:31:39-0500 KubeletReady kubelet发布就绪状态
地址:
内部IP:192.168.1.96
主机名:titan.zron.local
容量:
中央处理器:32
短暂存储:7623778Mi
hugepages-1Gi:0
hugepages-2Mi:0
内存:131837268Ki
豆荚:110
# kubectl describe node titan.zircon.local
Name:               titan.zircon.local
Roles:              master
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/instance-type=k3s
                    beta.kubernetes.io/os=linux
                    k3s.io/hostname=titan.zircon.local
                    k3s.io/internal-ip=192.168.1.96
                    kubernetes.io/arch=amd64
                    kubernetes.io/hostname=titan.zircon.local
                    kubernetes.io/os=linux
                    node-role.kubernetes.io/master=true
Annotations:        flannel.alpha.coreos.com/backend-data: {"VtepMAC":"d2:3d:24:54:f1:cb"}
                    flannel.alpha.coreos.com/backend-type: vxlan
                    flannel.alpha.coreos.com/kube-subnet-manager: true
                    flannel.alpha.coreos.com/public-ip: 192.168.1.96
                    node.alpha.kubernetes.io/ttl: 0
                    volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Mon, 23 Dec 2019 15:54:12 -0500
Taints:             <none>
Unschedulable:      false
Conditions:
  Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----                 ------  -----------------                 ------------------                ------                       -------
  NetworkUnavailable   False   Fri, 27 Dec 2019 15:31:40 -0500   Fri, 27 Dec 2019 15:31:40 -0500   FlannelIsUp                  Flannel is running on this node
  MemoryPressure       False   Fri, 27 Dec 2019 15:55:49 -0500   Mon, 23 Dec 2019 15:54:12 -0500   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure         False   Fri, 27 Dec 2019 15:55:49 -0500   Mon, 23 Dec 2019 15:54:12 -0500   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure          False   Fri, 27 Dec 2019 15:55:49 -0500   Mon, 23 Dec 2019 15:54:12 -0500   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready                True    Fri, 27 Dec 2019 15:55:49 -0500   Fri, 27 Dec 2019 15:31:39 -0500   KubeletReady                 kubelet is posting ready status
Addresses:
  InternalIP:  192.168.1.96
  Hostname:    titan.zircon.local
Capacity:
 cpu:                32
 ephemeral-storage:  7623778Mi
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             131837268Ki
 pods:               110 <============HERE
Allocatable:
 cpu:                32
 ephemeral-storage:  7594405102166
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             131837268Ki
 pods:               110 <============HERE
System Info:
 Operating System:           linux
 Architecture:               amd64
 Container Runtime Version:  containerd://1.3.0-k3s.5
 Kubelet Version:            v1.16.3-k3s.2
 Kube-Proxy Version:         v1.16.3-k3s.2
PodCIDR:                     10.42.0.0/24
PodCIDRs:                    10.42.0.0/24
ProviderID:                  k3s://titan.zircon.local
Non-terminated Pods:         (110 in total)
  Namespace                  Name                                       CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
  ---------                  ----                                       ------------  ----------  ---------------  -------------  ---
  kube-system                metrics-server-6d684c7b5-5kpbr             0 (0%)        0 (0%)      0 (0%)           0 (0%)         4d
  kube-system                local-path-provisioner-58fb86bdfd-7b2ss    0 (0%)        0 (0%)      0 (0%)           0 (0%)         4d