【k8s】节点无法调度

【问题】部署pod任务,报错
0/3 nodes are available: 1 node(s) were unschedulable, 2 node(s) didn’t match node selector.

【解决方法】
1.查看节点是否可调度

kubectl get nodes

2.如图,master被限制不可用
在这里插入图片描述
3.将pod部署到其他节点或者
4.联系root更改master的调度限制(一般不可取)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要设置 k8s 节点不可调度,可以通过以下两种方式实现: 1. 使用 kubectl 命令设置节点不可调度: ``` kubectl cordon <node-name> ``` 这个命令会在节点上设置一个 taint ,使得 k8s 调度器不会将新的 Pod 调度到该节点上。 2. 在节点上设置 taint: 在要设置不可调度节点上运行以下命令: ``` kubectl taint nodes <node-name> node-role.kubernetes.io/master:NoSchedule ``` 这个命令会在该节点上设置一个 taint,使得 k8s 调度器不会将新的 Pod 调度到该节点上。 这两种方式都可以实现节点不可调度的目的,但是第二种方式可以设置更多的 taints,例如可以设置 Pod 必需的节点标签,从而限制 Pod 的调度。 ### 回答2: 在Kubernetes(简称K8s)中,可以通过设置节点调度状态来控制其可调度性。要将节点设置为不可调度,可以使用以下步骤: 1. 首先,可以使用以下命令查看当前集群中的所有节点:`kubectl get nodes` 2. 选择要将其设置为不可调度节点,并使用以下命令标记该节点为不可调度的状态:`kubectl cordon <节点名称>` 3. 当节点被标记为不可调度后,新的Pod将不会被调度到该节点上,而已经运行在该节点上的Pod将继续运行。 4. 如果要将节点重新设置为可调度状态,可以使用以下命令:`kubectl uncordon <节点名称>` 5. 再次将节点设置为可调度后,K8s调度器将重新考虑该节点上的Pod的分布,并在需要时在该节点调度新的Pod。 通过设置节点调度状态,可以灵活地控制K8s集群中Pod的调度行为,确保节点的资源被有效利用,并实现负载均衡和高可用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值