为了将新的命名空间仅调度到特定的节点(如 node3),而不调度到其他节点(如 node1 和 node2),你可以使用 Kubernetes 的 nodeSelector、nodeAffinity
或 taints
和 tolerations
功能。
方法 1: 使用 nodeSelector
你可以在 Pod 或 Deployment 的 YAML 文件中指定 nodeSelector,将其调度到特定节点。
步骤:
1.为 node3 添加一个标签(假设你已经有 node3 运行在你的集群中)。
kubectl label nodes node3 disktype=ssd
#查看标签
kubectl get nodes --show-labels
1.在你的 Pod 或 Deployment YAML 文件中,添加 nodeSelector。
apiVersion: v1
kind: Pod
metadata:
name: my-pod
namespace: your-namespace
spec:
containers:
- name: my-container
image: nginx
nodeSelector:
disktype: ssd
方法 2: 使用 nodeAffinity
nodeAffinity 提供了更灵活的方式来选择节点。
apiVersion: v1
kind: Pod
metadata:
name: my-pod
namespace: your-namespace
spec:
containers:
- name: my-container
image: nginx
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms: