深入玩转K8S之最懂实际应用场景的调度神器DaemonSet

首先什么是DaemonSet?

有些时候可能有些节点运行多个同类业务的Pod,有些节点上又没有这类Pod运行;而后台支撑型服务的核心关注点在K8s集群中的节点(物理机或虚拟机),要保证每个节点上都有一个此类Pod运行。节点可能是所有集群节点也可能是通过nodeSelector选定的一些特定节点。

那这时候就需要到了DaemonSet,DaemonSet是保证在每个Node上都运行一个容器副本,常用来部署一些集群的日志、监控或者其他系统管理应用。

简单来说就是DaemonSet就是让一个应用在所有的k8s集群节点上都运行一个副本。典型的应用包括:

  • 日志收集,比如Fluentd,Logstash等
  • 系统监控,比如Prometheus Node Exporter,Collectd,New Relic agent,Ganglia gmond等
  • 系统程序,比如Kube-proxy, Kube-dns, Glusterd, Ceph等

实际上Kubernetes自己本身就在用DaemonSet运行自己的系统组件,下面目睹下。

好了本次的DaemonSet的实践讨论到此结束,本文参考了Kubernetes中文社区。

原文地址:http://blog.51cto.com/devingeng/2134114

时间: 2024-07-29 17:19:32

深入玩转K8S之最懂实际应用场景的调度神器DaemonSet的相关文章

深入玩转K8S之利用Label控制Pod位置

首先介绍下什么是Label? Label是Kubernetes系列中一个核心概念.是一组绑定到K8s资源对象上的key/value对.同一个对象的labels属性的key必须唯一.label可以附加到各种资源对象上,如Node,Pod,Service,RC等. 通过给指定的资源对象捆绑一个或多个不用的label来实现多维度的资源分组管理功能,以便于灵活,方便地进行资源分配,调度,配置,部署等管理工作. 默认配置下,Scheduler 会将 Pod 调度到所有可用的 Node.不过有些实际情况我们

深入玩转K8S之智能化的业务弹性伸缩和滚动更新操作

在上篇我们讲到了较为傻瓜初级的弹性伸缩和滚动更新,那么接下来我们来看看较为高级的智能的滚动更新.本节的知识点呢是K8S的liveness和readiness探测,也就是说利用健康检查来做更为智能化的弹性扩容和滚动更新. 那为什么说是比较智能化呢,因为在实际生产环境中会遇到这样那样的问题,比如:容器里面应用挂了或者说新启动的容器里面应用还没有就绪等等,所以说就需要进行探测来检验容器是否满足需求. 那么一般的检测分为几种,比如:进程检测.业务检测. 进程检测呢很好理解,也就是说通过检测容器进程来验证

[转帖]K8s 工程师必懂的 10 种 Ingress 控制器

K8s 工程师必懂的 10 种 Ingress 控制器 https://www.kubernetes.org.cn/5948.html 控制器有好多啊. 2019-10-18 23:07 中文社区 分类:Kubernetes教程/入门教程 阅读(736) 评论(0) 今年 2 月,社区曾推送了一篇文章:<在 K8s 中,如何选择合适的 Ingress 控制器>.但当时只介绍了两种解决方案.为了帮助读者对 Ingress Controler 建立更完整的认识,今天,社区对现下流行的十种方案做了具

深入玩转K8S之存储资源管理

本篇我们来看下K8S中的存储资源管理,说到K8S的存储资源管理分为几个概念:Vloume.PV.PVC等,本篇我们主要侧重于PV和PVC. 下面简单说下几个概念: Volume 的生命周期独立于容器,Pod 中的容器可能被销毁和重建,但 Volume 会被保留.Kubernetes Volume 实际上就是一个目录,这一点与 Docker Volume 类似.当 Volume 被 mount 到 Pod,Pod 中的所有容器都可以访问这个 Volume.Kubernetes Volume 也支持

深入玩转K8S之如何访问业务应用(Traefik-ingress配置https篇)

上篇我们简单介绍了下traefik以及如何http访问, 但是在实际生产环境中不仅仅只是http的转发访问,还有https的转发访问, 前面一篇:traefik基础部署记录,介绍了最简单的http访问traefik,访问过程参考见下: client --- (via http) ---> traefik ---- (via http) ---->  services 现在要实践的是更安全也更复杂的https访问traefik,有两种访问过程,参考见下: 后端service是普通http的 即c

Pod Preset玩转K8S容器时区自动配置

摘要: 通过Pod Preset自动配置容器的时区 缘由默认的情况,在K8S里启动一个容器,该容器的设置的时区是UTC0,但是对于很多客户而言,其主机环境并不在UTC0.例如中国客户在UTC8.如果不把容器的时区和主机主机设置为一致,则在查找日志等时候将非常不方便,也容易造成误解.但是K8S以及Docker容器没有一个简便的设置/开关在系统层面做配置.都需要我们从单个容器入手做设置,具体方法如下: 纯Docker的时区设置方式Docker引擎提供了两种设置方式,分别是通过环境变量以及挂载主机文件

想玩Java这些事新手必须懂(二)

想玩Java这些事必须懂(二) JDK目录的组成 bin下有常用的javac和java命令 lib下有JDK工具命令的字节码tool.jar和dt.jar tool.jar中包含了javac和java可执行命令的字节码 PATH和CLASSPATH的作用 PATH是系统变量的环境变量,当没有配置PATH时是无法使用javac和java命令的, 因此必须要配置该变量.CLASSPATH就比较奇葩了,当使用java类时,我们在哪 找到生成的类呢,1.4之后的版本能够自动找到,1.4之前都是通过配置C

朱晔的互联网架构实践心得S2E4:小议微服务的各种玩法(古典、SOA、传统、K8S、ServiceMesh)

十几年前就有一些公司开始践行服务拆分以及SOA,六年前有了微服务的概念,于是大家开始思考SOA和微服务的关系和区别.最近三年Spring Cloud的大火把微服务的实践推到了高潮,而近两年K8S在容器编排的地位确定之后大家又开始实践起以K8S为核心的云原生思想和微服务的结合如何去落地,2018年又多出一个ServiceMesh服务网格的概念,大家又在思考如何引入落地ServiceMesh,ServiceMesh和K8S以及Spring Cloud的关系如何等等. 确实有点乱了,这一波又一波的热潮

ASP.NET Core 借助 K8S 玩转容器编排

原文:ASP.NET Core 借助 K8S 玩转容器编排 Production-Grade Container Orchestration - Automated container deployment, scaling, and management. 生产级别的容器编排系统--自动化的容器部署.扩展和管理. 1. 引言 由于最近在学习微服务,所以就基于之前docker的基础上把玩一下k8s(Kubernetes),以了解基本概念和核心功能. 2. What's k8s? k8s涉及到很多