k8s允许master节点参与调度的设置方法

默认情况下,master节点是不参与调度的,且在master节点上有一个污点NoSchedule(表示k8s将不会将Pod调度到具有该污点的Node上),有关污点章节可参考https://www.cnblogs.com/panw/p/16343392.html

如果想让master节点参与调度,需要先删除污点,允许k8s将Pod调度到该Node上,再添加master为nodes角色。

假设我们就一台单机环境,想让k8s平台既是master节点、又是node节点,可通过如下步骤实现:

  • 删除污点
# 查看node
kubectl get nodes 

# 查看污点
kubectl describe node k8s-master |grep Taints
Taints:    node-role.kubernetes.io/master:NoSchedule

# 删除污点
kubectl taint nodes --all node-role.kubernetes.io/master-

  • 添加master为worker角色

语法:kubectl label nodes 节点名字 node-role.kubernetes.io/ROLES属性名称=或-

# 让master节点参与调度,#如果想删除,把=换成-
kubectl label nodes k8s-master node-role.kubernetes.io/worker=

也可以将control-plane标签删除。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值