ZBLOG

k8s的yaml文件中nodeaffinity的作用 给我一个例子

好的,下面是一个使用 NodeAffinity 的例子:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                - worker-1 # 所需调度到的节点名称 
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80

这个示例展示了如何使用 requiredDuringSchedulingIgnoredDuringExecution 对节点进行选择。在上述示例中,我们将 Pod 调度到名为 “worker-1” 的节点上。

在上面的 YAML 文件中,我们定义了一个名为 “nginx-deployment” 的 Deployment 对象,并设置了需要运行三个 Pod 副本。然后,在 Pod 模板的规范化部分中,我们指定了需要调度到哪些节点。

在这里,我们使用 nodeSelectorTerms 属性来描述匹配标签的策略,并将其与键值对 "kubernetes.io/hostname=worker-1" 进行匹配。因此,Pod 将只能够被调度到带有这个特定标签的节点上。

希望这个例子可以让您更好地理解如何使用 NodeAffinity 来控制 Pod 的部署位置。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=3144

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?