kubernets之DaemonSet
一 k8s资源之DaemonSet
1.1 介绍认识DaemonSet
DaemonSet可以理解为一种比较特殊的RS,DaemonSet的作用是永远保持被指定的节点只运行一个pod的副本,可用作集群的监控和日志收集等作用
另外一点的是,可能有些节点被设置为不可调度pod的时候,仍然可以使用DaemonSet来调度到该节点,因为DS可以绕过调度器进行调度到响应的节点上
二 创建一个DaemonSet
2.1 实现一个DaemonSet的yml的文件来通过该文件来创建一个DaemonSet
apiVersion: apps/v1beta2
kind: DaemonSet
metadata:
name: ex-daemonset
spec:
selector:
matchLabels:
app: k8s
template:
metadata:
labels:
app: k8s
spec:
# nodeSelector:
# machine: centos
containers:
- name: main
image: luksa/ssd-monitor
2.2 查看创建出来的DaemonSet
[root@node01 Chapter04]# k get po --show-labels -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES LABELS
ex-daemonset-dv4p5 1/1 Running 0 7m32s 10.244.1.11 node02 <none> <none> app=k8s,controller-revision-hash=697679dd9c,pod-template-generation=1
ex-daemonset-dzfjh 1/1 Running 0 7m32s 10.244.2.10 node01 <none> <none> app=k8s,controller-revision-hash=697679dd9c,pod-template-generation=1
可以看到即使没指定副本数量,仍然在每个node上面创建出来了一个pod
2.3 指定DaemonSet到指定的node而非所有的node节点的配置
apiVersion: apps/v1beta2
kind: DaemonSet
metadata:
name: ex-daemonset
spec:
selector:
matchLabels:
app: k8s
template:
metadata:
labels:
app: k8s
spec:
nodeSelector:
machine: centos
containers:
- name: main
image: luksa/ssd-monitor
2.4 当设置了nodeSelector的时候只有node节点带有machine的centos机器才会被调度上去
[root@node01 Chapter04]# k get ds
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ex-daemonset 0 0 0 0 0 machine=centos 31s [root@node01 Chapter04]# k get po
No resources found in default namespace.
可以看到当在创建的daemonset里面添加nodeselector的时候,pod只会被调度到带有标签machine=centos的上面,而现在的节点都没有该标签,所以不会调度到任何节点上
2.5 修改其中一个node的标签,观察是否能够调度到该节点上
[root@node01 Chapter04]# k label node node02 machine=centos
node/node02 labeled
[root@node01 Chapter04]# k get po
NAME READY STATUS RESTARTS AGE
ex-daemonset-xbvhh 0/1 ContainerCreating 0 5s
当向node添加标签之后,马上就可以调度到该node节点了
2.6 删除该node节点上面的标签,观察该pod是否也会被删除
[root@node01 Chapter04]# k label node node02 machine=debian --overwrite
node/node02 labeled
[root@node01 Chapter04]# k get po -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
ex-daemonset-xbvhh 1/1 Terminating 0 2m38s 10.244.1.13 node02 <none> <none>
可以看到当修改了标签之后,由于node 的标签已经不和DS匹配,响应的pod也被删除
kubernets之DaemonSet的更多相关文章
- 【07】Kubernets:资源清单(控制器 - DaemonSet)
写在前面的话 前面讲解了 Pod / ReplicaSet / Deployment 的资源清单,我们这里谈一下 DaemonSet 的资源清单. 之前说过,DaemonSet 控制器能够保证资源在每 ...
- 010.kubernets的调度系统之daemonset
daemonset简单操作使用 Deployment 是 Kubernetes 中用于处理无状态服务的资源,而 StatefulSet 是用于支持有状态服务的资源,这两种不同的资源从状态的角度对服务进 ...
- Kubernets 资源类型简介
# Node 代表 Kubernets 集群运行的宿主物理机或者虚拟服务器, 为容器提供必要的计算资源: 内存 与 CPU 等. # Pod 最底层的抽象. 一个 Pod 中可以包含一个或者多个运行的 ...
- ASP.NET Core on K8S深入学习(3-2)DaemonSet与Job
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 上一篇<3-1 Deployment>中介绍了Deployment ...
- kubernets之Deployment资源
一 声明式的升级应用 1.1 回顾一下kubernets集群里面部署一个应用的形态应该是什么样子的,通过一副简单的图来描述一下 通过RC或者RS里面的模板创建了三个pod,之后通过一个servci ...
- kubernets之卷
一 卷的由来以及种类和常用的卷的类型 前面介绍了大部分都是pod的管理以及在集群内部和集群外部如何访问pod,但是我们也了解到,pod是有生命周期的,当pod所在节点下线,或者等其他原因原因导致pod ...
- Kubernets搭建Kubernetes-dashboard
接上篇文章,在已经部署好Kubernetes的基础上部署kubernetes-dashboard,它是官方提供的用户管理Kubernets集群可视化工具:部署dashboard其实和在kubernet ...
- 【云计算】K8S DaemonSet 每个node上都运行一个pod
Kubernetes容器集群中的日志系统集成实践 Kubernetes是原生的容器编排管理系统,对于负载均衡.服务发现.高可用.滚动升级.自动伸缩等容器云平台的功能要求有原生支持.今天我分享一下我们在 ...
- 单机部署 kubernets 方法汇总
#minikube : 可以方便的在本机用虚拟机创建一个开箱即用的Kubernetes集群 #kubeadm : 可以自动化的将多台Ubuntu或者CentOS主机组建成集群 #nanokube,ki ...
随机推荐
- docker 连接MySQL·集群
1 指定端口 docker run -p 3307:3306 --name root -e MYSQL_ROOT_PASSWORD=root -d mysql # 6380 root password ...
- .Net Core 学习之旅知乎版
@[yuyue](.Net Core 学习之旅-.netCore Developer RoadMap) # .Net Core 学习之旅 随着.NET5.O 的正式推出,微软的VS大一统目的逐步成型, ...
- maven中引入jstl
<!--jsp标签--> <dependency> <groupId>taglibs</groupId> <artifactId>stand ...
- [日常摸鱼]HDU3007Buried memory-最小圆覆盖
最小圆覆盖裸题 我求外接圆的方法比较奇怪-不过还是过掉了 #include<cstdio> #include<cmath> #include<cstdlib> #i ...
- [水题日常]Luogu1113 杂务
这几天又在颓. 我的blog难度目前还比较低,主要面向像我这样子的新手(当然内容也会尽量讲得具体清楚一些)x 如果有错误还请指出~ 写完随笔之后才去翻了一下这题题解之后才注意到这题是有序的 QAQ完全 ...
- Spark-2-性能监控方式
1 Spark Web UI Spark提供了一些基本的Web监控页面,对于日常监控十分有用. 通过http://master:4040(默认端口是4040,可以通过spark.ui.port修改)我 ...
- 物联网打工人必备:LiteOS Studio图形化调测能力
摘要:本文会给大家介绍下LiteOS Studio的调测的几个知识点,包括: 调测配置,监视变量,反汇编代码同步展示,数值进制切换,跨平台编译调测,Qemu模拟器调测,多核调测,远程设备调测等. 掌握 ...
- HCIP --- BGP实验
实验拓扑: 要求: R1.R2是EBGP关系,R2.R4是IBGP关系,R4.R5是EBGP邻居关系 R1与R5的环回可以通信 1.配置IP地址 2.BGP承载与IGP之上,所以给AS 2 启用IGP ...
- ASP.NET网站部署到服务器IIS上和本地局域网服务器
控制面板>>>管理工具>>>打开Internet信息服务 2,如果找不到 可以控制面板>>>程序和功能>>> 打开或关闭win ...
- .NET Core AWS S3云存储
前言 最近有需要用到AWS S3云存储上传附件,这里对利用.NET或.NET Core在调用SDK APi需要注意的一点小问题做个记录,或许能对后续有用到的童鞋提供一点帮助 AWS S3云存储 官方已 ...