linux - Kubernetes 工作节点 cpu 和内存请求始终保持为零
问题描述
嗨,我是 Kubernetes 的新手。
1) 无法在工作节点中扩展容器/pod。并且它的内存使用量始终保持为零。任何原因 ?
2)每当我扩展 pod/容器时,它总是在主节点中创建。
3)有什么办法可以限制特定节点上的 pod 吗?
4)当我缩放时豆荚如何划分?
任何拨付的帮助。
kubectl 版本
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:08:12Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:00:57Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
kubectl 描述节点
Name: worker-node
Roles: worker
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
kubernetes.io/hostname=worker-node
node-role.kubernetes.io/worker=worker
Annotations: kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock
node.alpha.kubernetes.io/ttl: 0
volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp: Tue, 19 Feb 2019 15:03:33 +0530
Taints: node.kubernetes.io/disk-pressure:NoSchedule
Unschedulable: false
Conditions:
Type Status LastHeartbeatTime LastTransitionTime Reason Message
---- ------ ----------------- ------------------ ------ -------
MemoryPressure False Tue, 19 Feb 2019 18:57:22 +0530 Tue, 19 Feb 2019 15:26:13 +0530 KubeletHasSufficientMemory kubelet has sufficient memory available
DiskPressure True Tue, 19 Feb 2019 18:57:22 +0530 Tue, 19 Feb 2019 15:26:23 +0530 KubeletHasDiskPressure kubelet has disk pressure
PIDPressure False Tue, 19 Feb 2019 18:57:22 +0530 Tue, 19 Feb 2019 15:26:13 +0530 KubeletHasSufficientPID kubelet has sufficient PID available
Ready True Tue, 19 Feb 2019 18:57:22 +0530 Tue, 19 Feb 2019 15:26:13 +0530 KubeletReady kubelet is posting ready status. AppArmor enabled
OutOfDisk Unknown Tue, 19 Feb 2019 15:03:33 +0530 Tue, 19 Feb 2019 15:25:47 +0530 NodeStatusNeverUpdated Kubelet never posted node status.
Addresses:
InternalIP: 192.168.1.10
Hostname: worker-node
Capacity:
cpu: 4
ephemeral-storage: 229335396Ki
hugepages-2Mi: 0
memory: 16101704Ki
pods: 110
Allocatable:
cpu: 4
ephemeral-storage: 211355500604
hugepages-2Mi: 0
memory: 15999304Ki
pods: 110
System Info:
Machine ID: 1082300ebda9485cae458a9761313649
System UUID: E4DAAC81-5262-11CB-96ED-94898013122F
Boot ID: ffd5ce4b-437f-4497-9337-e72c06f88429
Kernel Version: 4.15.0-45-generic
OS Image: Ubuntu 18.04.1 LTS
Operating System: linux
Architecture: amd64
Container Runtime Version: docker://18.6.1
Kubelet Version: v1.13.3
Kube-Proxy Version: v1.13.3
PodCIDR: 192.168.1.0/24
Non-terminated Pods: (0 in total)
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits AGE
--------- ---- ------------ ---------- --------------- ------------- ---
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 0 (0%) 0 (0%)
memory 0 (0%) 0 (0%)
ephemeral-storage 0 (0%) 0 (0%)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Starting 55m kube-proxy, worker-node Starting kube-proxy.
Normal Starting 55m kube-proxy, worker-node Starting kube-proxy.
Normal Starting 33m kube-proxy, worker-node Starting kube-proxy.
Normal Starting 11m kube-proxy, worker-node Starting kube-proxy.
Warning EvictionThresholdMet 65s (x1139 over 3h31m) kubelet, worker-node Attempting to reclaim ephemeral-storage
解决方案
这很奇怪,默认情况下,kubernetes 具有将 master 排除在 pod 执行之外的标签。
kubectl get nodes --show-labels
现在检查标签
node-role.kubernetes.io/master=true:NoSchedule
如果你的主人没有这个标签,你可以保留主人:
kubectl taint nodes $HOSTNAME node-role.kubernetes.io/master=true:NoSchedule
推荐阅读
- python - 在 Python 命令行上定义函数时出现语法错误
- .net - 如何在当前应用程序域中加载另一个程序集?
- npm - npm install optionalDependencies 但没有 devDependencies
- python - 如何在python上对产品和价格进行排名
- spring-boot - Spring Boot 配置 Jetty 初始化参数
- php - 如果数据库值在特定时期之前发生更改,如何停止代码
- java - 为什么@AutoValue 注解使用特定整数 1000003 来计算哈希码?
- swift - FirebaseStorageUI + sdwebimage
- r - R没有识别回归中的因素
- sql - 递归查询:函数内部“表不存在”,但函数外部存在