首页 > 其他分享 >daemonset只运行在指定节点

daemonset只运行在指定节点

时间:2023-08-20 22:22:30浏览次数:34  
标签:node name spec 指定 label daemonset key 节点

1.spec.template.spec.nodeSelector

如,只在node标签有 daemonset=true 的节点上运行pod:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: ssd-monitor-nodelabel
  namespace: controller-test
spec:
  selector:
    matchLabels:
      app: ssd-monitor-nodelabel
  template:
    metadata:
      labels:
        app: ssd-monitor-nodelabel
    spec:
      nodeSelector:
        daemonset: "true"         # 有一些特殊的需要加""
      containers:
      - name: main
        image: luksa/ssd-monitor

2.spec.template.spec.affinity

https://blog.csdn.net/kozazyh/article/details/112004365

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-hello-deployment
  namespace: chenqiang-ns1
  labels:
    app: nginx-hello
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx-hello
  template:
    metadata:
      labels:
        app: nginx-hello
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: tester
                operator: NotIn
                values:
                - chenqiang
      containers:
      - name: nginx-hello
        image: docker-registry.saicstack.com/chenqiang/nginx-hello:v2.0
        ports:
        - containerPort: 80
      imagePullSecrets:
      - name: regcred

pod中的例子

apiVersion: v1
kind: Pod
metadata:
  name: with-node-affinity
spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: kubernetes.io/e2e-az-name
            operator: In
            values:
            - e2e-az1
            - e2e-az2
      preferredDuringSchedulingIgnoredDuringExecution:
      - weight: 1
        preference:
          matchExpressions:
          - key: another-node-label-key
            operator: In
            values:
            - another-node-label-value
  containers:
  - name: with-node-affinity
    image: gcr.io/google_containers/pause:2.0

这条规则表示,pod可以被调度到标签key为“kubernetes.io/e2e-az-name”,值为“e2e-az1”或“e2e-az2”的节点。另外,在满足该条件的节点中,优先使用具有“another-node-label-key”标签,且至为“another-node-label-value”的节点。
这个 pod 同时定义了 requiredDuringSchedulingIgnoredDuringExecution 和 preferredDuringSchedulingIgnoredDuringExecution 两种 nodeAffinity。第一个要求 pod 运行在特定 AZ 的节点上,第二个希望节点最好有对应的 another-node-label-key:another-node-label-value 标签。

这里的匹配逻辑是label在某个列表中,可选的操作符有:

In: label的值在某个列表中
NotIn:label的值不在某个列表中
Exists:某个label存在
DoesNotExist:某个label不存在
Gt:label的值大于某个值(字符串比较)
Lt:label的值小于某个值(字符串比较)
如果nodeAffinity中nodeSelector有多个选项,节点满足任何一个条件即可;如果matchExpressions有多个选项,则节点必须同时满足这些选项才能运行pod 。

需要说明的是,node并没有anti-affinity这种东西,因为NotIn和DoesNotExist能提供类似的功能。

标签:node,name,spec,指定,label,daemonset,key,节点
From: https://www.cnblogs.com/regit/p/17644740.html

相关文章

  • rhel 6.5恢复MySQL 5.5.18从节点
    文档课题:rhel6.5恢复MySQL5.5.18从节点.系统:rhel6.564位数据库:MySQL5.5.18数据库安装包:mysql-5.5.18.tar.gzXtrabackup安装包:percona-xtrabackup-24-2.4.6-2.el6.x86_64.rpm系统架构:应用场景:主库binlog未被从库应用便被binlog保留策略自动删除,主从同步出现异常.以下模拟......
  • 【Oracle Real Application Cluster Database】集群删除节点
    [grid@node01~]$srvctlstoplistener-nnode03[grid@node01~]$srvctlstopinstance-dcore-nnode03[oracle@node01~]$dbca-silent-deleteInstance-nodeListnode03-gdbNamecore-instanceNamecore3-sysDBAUserNamesys-sysDBAPassword1QAZ2wsx......
  • 【LeetCode2118. 建立方程】 group_concat指定分隔符,指定排序顺序
    目录题目地址题目描述代码题目地址https://leetcode.cn/problems/build-the-equation/description/题目描述Example2:输入:Terms表:+-------+--------+|power|factor|+-------+--------+|4|-4||2|1||1|-1|+-------+---......
  • 剑指 Offer 54. 二叉搜索树的第k大节点
    方法一:由于是有序的平衡二叉树,因此是中序。根据dfs中序迭代求得递增排序后,再反转就可求得结果。classSolution{public:vector<int>tmp;intkthLargest(TreeNode*root,intk){//if(root!=NULL)returndfs(root);reverse(tmp.be......
  • pandas生成表格: 字典键值列表需对齐,而二维表格无此要求 键值需至少有一个为列表,否
    生成表格:字典键值列表需对齐,而二维表格无此要求键值需至少有一个为列表,否则需指定index,否则ValueErrordf_test=pd.DataFrame({'a':[1,2],'b':[3,None]})#生成表格:#字典键值列表需对齐,而二维表格无此要求#键值需至少有一个为列表,否则需指定index,否则ValueError:If......
  • 【Oracle Real Application Cluster Database】集群增加节点
    [grid@node03~]$ssh-keygen[grid@node03~]$ssh-copy-id-i~/.ssh/id_rsa.pubgrid@node03[grid@node03~]$ssh-copy-id-i~/.ssh/id_rsa.pubgrid@node01[grid@node03~]$(sshnode01"date;hostname";sshnode03"date;hostname")SatAug19......
  • 【Python-每日技巧】python在linux中通过进程名称停止指定进程
    在CentOS下,你可以使用psutil库来杀死进程。以下是一个示例代码:importpsutil#设置要杀死的进程的名称process_name="your_process_name"#查找指定名称的进程并杀死forprocinpsutil.process_iter(['pid','name']):ifproc.info['name']==process_name:......
  • linux监控指定进程
    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器使用方法:top-17:16:22up9days, 3:18,11users, loadaverage:0.08,0.21,0.34Tasks: 1total, 0running, 1sleeping, 0stopped, 0zombieCpu......
  • 指定或降低Rust 工具链的版本
    要更改Rust工具链的版本,您可以使用以下命令之一:rustupdefaultstable:使用stable版本的Rust工具链作为默认版本。rustupdefaultbeta:使用beta版本的Rust工具链作为默认版本。rustupdefaultnightly:使用nightly版本的Rust工具链作为默认版本。除了default命令,还......
  • Openwrt指定延迟脚本
    在某些情况下,我们需要对指定网络接口指定延迟,以达到我们想要实验的效果延迟。脚本如下:#!/bin/bash##初始化tcqdiscdeldevbr-lanrootecho"1.添加延迟规则2.删除延迟规则"read-p"请选择操作:"choiceif["$choice"=="1"];thenread-p"请输入延迟值(单位......