要在Kubernetes中指定特定的节点上启动Pod,可以使用NodeSelector来选择目标节点。

首先需要创建一个Deployment或者StatefulSet对象,并设置spec.template.spec.nodeName字段为所需的节点名称。这样就能确保该Pod只会被调度到指定的节点上运行。

示例YAML文件如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      nodeName: k8s-node-02   # 将此处修改为目标节点的名称
      containers:
      - name: my-container
        image: nginx:latest
        ports:
          - containerPort: 80

注意事项:

  • nodeName

字段必须与集群中存在的节点名称完全匹配才有效。

  • 当使用

nodeName时,不再支持自动调度器进行节点选择,因此无法通过其他条件(如label、affinity等)来控制Pod的调度位置。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐