依旧从这里开始:

kubectl explain daemonset.spec

一个基础daemonset yaml,

apiVersion: apps/v1
kind: DaemonSet
metadata:
name: ssd-monitor
namespace: controller-test
spec:
selector:
matchLabels:
app: ssd-monitor
template:
metadata:
labels:
app: ssd-monitor
spec:
containers:
- name: main
image: luksa/ssd-monitor

指定.spec.selector来确定这个DaemonSet对象管理的Pod,通常与.spec.template.metadata.labels中定义的Pod的label一致。

在每个节点上运行一个pod

在节点没有特殊调度的情况下,一个pod对应一个节点

  • 节点丢失,该节点对应的pod不会在其他节点上重建
  • 新加入的节点,会自动在改节点上部署一个pod

使用DaemonSet只在特定节点上起pod

使用高级调度限制pod在节点上运行

待学习

使用nodeSelector来限制pod可以运行的节点

如,只在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

思考:高级调度和nodeSelector的优先级?

也就是说如果高级调度不让在改node上运行pod,但改node上打标签了

DaemonSet:每个节点都运行一个Pod的更多相关文章

  1. 【云计算】K8S DaemonSet 每个node上都运行一个pod

    Kubernetes容器集群中的日志系统集成实践 Kubernetes是原生的容器编排管理系统,对于负载均衡.服务发现.高可用.滚动升级.自动伸缩等容器云平台的功能要求有原生支持.今天我分享一下我们在 ...

  2. kubernetes 每个node上只能运行一个副本DaemonSet

    每个node上只能运行一个副本: apiVersion: extensions/v1beta1 kind: DaemonSet #使用DaemonSet的方式运行 metadata: name: ku ...

  3. 使用Minikube运行一个本地单节点Kubernetes集群(阿里云)

    使用Minikube运行一个本地单节点Kubernetes集群中使用谷歌官方镜像由于某些原因导致镜像拉取失败以及很多人并没有代理无法开展相关实验. 因此本文使用阿里云提供的修改版Minikube创建一 ...

  4. 一个包含n个结点的四叉树,每一个节点都有4个指向孩子节点的指针,这4n个指针有(3*n+1)个空指针. 4*n-(n-1) = 3*n+1

    因为每个树都有一个头结点.头结点下面是4个子结点,然后每个子结点又有4个子节点.例如一个2层的四叉树,就会有5个结点,但头结点并不能计算进去.他的4个子节点下面接的都是空指针,可以得出空指针的个数为4 ...

  5. 通过命令验证docker容器相当一个轻量级的Linux运行环境,且每个容器内都有一个属于自己的文件系统,容器之间相互隔离

    一.docker的三个重要概念 1.镜像:打包项目带上环境,即镜像 Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资源.配置等文件外,还包含了一些为运行时准备的配置参数.镜像 ...

  6. 运行一个nodejs服务,先发布为deployment,然后创建service,让集群外可以访问

    问题来源 海口-老男人 17:42:43 就是我要运行一个nodejs服务,先发布为deployment,然后创建service,让集群外可以访问 旧报纸 17:43:35 也就是 你的需求为 一个a ...

  7. k8s集群启动了上万个容器(一个pod里放上百个容器,起百个pod就模拟出上万个容器)服务器超时,无法操作的解决办法

    问题说明: 一个POD里放了百个容器,然后让K8S集群部署上百个POD,得到可运行上万个容器的实验目的. 实验环境:3台DELL裸机服务器,16核+64G,硬盘容量忽略吧,上T了,肯定够. 1.一开始 ...

  8. kubenetes创建一个pod应用

    Pod是可以创建和管理Kubernetes计算的最小可部署单元.一个Pod代表着集群中运行的一个进程.每个pod都有一个唯一的ip. 一个pod类似一个豌豆荚,包含一个或多个容器(通常是docker) ...

  9. K8S集群入门:运行一个应用程序究竟需要多少集群?

    如果你使用Kubernetes作为应用程序的操作平台,那么你应该会遇到一些有关使用集群的方式的基本问题: 你应该有多少集群? 它们应该多大? 它们应该包含什么? 本文将深入讨论这些问题,并分析你所拥有 ...

随机推荐

  1. jenkins+docker+k8s项目发布

    目录 一.简介 二.新建docker-build工程 三.项目部署 四.访问测试 一.简介 1.该章节基于jenkins.Harbor.pipeline.k8s来做发布,如对这些不熟悉,请按以下进入学 ...

  2. CF977B Two-gram 题解

    Content 给定一个字符串 \(s\),请求出出现次数最多的长度为 \(2\) 的子串. 数据范围:\(2\leqslant |s|\leqslant 100\). Solution 直接求出所有 ...

  3. java 编程基础:注解(Annotation Processing Tool)注解处理器 利用注解解读类属性生成XML文件

    APT的介绍: APT(Annotation Processing Tool)是一种注解处理工具,它对源代码文件进行检测,并找出源文件所包含的注解信息,然后针对注解信息进行额外的处理. 使用APT工具 ...

  4. mail如何在linux中发送邮件,使用163邮箱发信。

    如何在linux中发送邮件,使用163邮箱发信.   linux中,可以使用mail命令往外发送邮件,在使用前,只需要指定如下简单配置即可,这里演示用  163.com    邮箱发送至 qq.com ...

  5. VC Mirror Driver显示虚拟驱动经典开发

    一个简单的显示驱动实例windows wdk 7600的 mirror(镜像) 显示驱动部分基本流程:Windows 2000 DDK包含了一个例子镜像驱动程序,在 上面3个目录中包括了组件源文件.目 ...

  6. react 结合antd 实现分页效果

    import React, { useState, useEffect } from "react"; // antd import { Pagination } from &qu ...

  7. C语言之可变长参数格式化

    概述 本文演示环境: win10 + Vs2015 可变长参数格式化 两个概念: 1. 参数长度不定, 2. 参数格式化. 使用函数 vsnprintf 结合 va_list. 源码 写好了函数, 照 ...

  8. bugku的一道XFF转发代理服务器题 “本地服务器”

    X-Forwarded-For requests包内构造方式: X-Forwarded-For: client1, proxy1, proxy2

  9. python语法糖之有参装饰器、无参装饰器

    python的装饰器简单来说就是函数的一种形式,是为了扩展原来的函数功能而设计的. 装饰器的特别之处在于它的返回值也是一个函数,可以在不改变原有函数代码的基础上添加新的功能 # 先定义一个函数及引用# ...

  10. IMPROVING ADVERSARIAL ROBUSTNESS REQUIRES REVISITING MISCLASSIFIED EXAMPLES

    目录 概 主要内容 符号 MART Wang Y, Zou D, Yi J, et al. Improving Adversarial Robustness Requires Revisiting M ...