步骤 1 参照创建无状态负载(Deployment)或创建有状态负载(StatefulSet),在“高级设置”的“调度策略”下,单击“工作负载和节点的亲和性 > 与节点的反亲和性”下的“添加”。
步骤 2 勾选工作负载不希望部署到的节点,单击“确定”。
若勾选多个节点,工作负载将不会部署到这些节点上。
本节以nginx为例,说明kubectl命令创建工作负载的方法。
前提条件
请参见通过kubectl操作CCE集群配置kubectl命令,使弹性云主机连接集群。
操作步骤
参见通过kubectl命令行创建无状态工作负载或通过kubectl命令行创建有状态工作负载,工作负载和节点反亲和性的yaml示例如下:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx
imagePullPolicy: Always
name: nginx
imagePullSecrets:
- name: default-secret
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: nodeName #node中lable的key
operator: NotIn #notin说明不部署
values:
- test-node-1 #node中对应key的value
步骤 1 登录CCE控制台,在左侧导航栏中选择“工作负载 > 无状态负载 Deployment”或“工作负载 > 有状态负载 StatefulSet”。
步骤 2 单击工作负载名称进入详情页,单击“调度策略 > 简易调度策略 > 添加反亲和对象”。
步骤 3 对象类型选择“节点”,勾选工作负载不希望部署到的节点,设置完成后当前工作负载不会部署到已选择的节点上。
图-添加反亲和对象-节点
说明:该方法可新增、编辑和删除调度策略。