K8S哲学 - 资源调度 DaemonSet

embedded/2024/11/14 3:13:05/

应用场景 日志收集

引出:

 正常情况下,每个服务都会进行 各自的日志收集、但是因为他们不在 同一台 Node 上,导致一旦查日志就需要 调动各个 机器进行切换,不方便也不高效 

低级做法:  

在每个需要收集日志的机器上部署 fiuentd 组件进行 后台收集日志 ,需要手动控制

高级做法:

 用 DaemonSet 守护进程进行收集,由 k8s为 匹配到 nodeSelector 自动部署  ,这里是 

nodeSelector:

     type: microServices 

后续如果有新增 节点,只要有 这个 标签,那么k8s 会自动新增 一个 DaemonSet 到该节点

Affinity 亲和力

创建资源

 如果不指定 nodeSelector 直接 create -f 创建 ,DeamonSet 会部署到 非 master 的 每一个  node 上

apiVersion: apps/v1
kind: DaemonSet
metadata: name: fluentd
spec: selector: matchLabels:id: fluentdapp: loggingtemplate:metadata: name: fluentdlabels:  id: fluentdapp: loggingspec: containers:- name: fluentd-esimage: fluentdenv: - name: FLUENTD_ARGSvalue: -qqvolumeMounts:- name: containersmountPath: /var/lib/docker/containers- name: varlogmountPath: /varlogvolumes:- name: containershostPath: path: /var/lib/docker/containers- name: varloghostPath: path: /varlog

但是 加上后

 

删除 重新 创建  ds 查看:

由于 本机节点没有 app=ds 的 label 所以不会在本机创建 ds 

但是一旦加上,立刻就创建了

所以只要 节点在 改集群内,只要 在需要的节点加上  nodeSelector 就会在该节点创建 ds

 

修改 ds 的默认更新策略

默认是滚动更新,结果是,一旦修改 yaml文件 template 里面的 内容,那么所有节点的 ds 都会更新,所以 修改为 OnDelete 模式、当 某一个 节点的  ds需要更新,就删除 改 ds ,会自动按照新的 yaml文件创建一个 ds

 


http://www.ppmy.cn/embedded/31202.html

相关文章

MyBatis 使用 XML 文件映射

在MyBatis中 我们可以使用各种注解来配置我们Mapper 类中的方法 我们为什么要使用XML文件呢? 如果我们是一条非常长的SQL 语句 使用 注解配置的话, 会非常不利于阅读 如下 所以,就需要使用到一个XML文件来对SQL语句进行映射,那么 …

华为试题之删除最少字符

题目描述 删除字符串中出现次数最少的字符 如果多个字符出现次数一样则都删除 输入描述 输入只包含小写字母 输出描述 输出删除后剩余的字符 若删除后字符串长度为0,则输出empty 我的思路是将字符串中的字符对应的数量和key统计后放到对应的字典中, 对字…

Java 【数据结构】常见排序算法实用详解(上) 插入排序/希尔排序/选择排序/堆排序【贤者的庇护】

登神长阶 上古神器-常见排序算法 插入排序/选择排序/堆排序 📔 一.排序算法 📕1.排序的概念 排序 :所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性&a…

前端初学者的 CSS 入门

文章导读:AI 辅助学习前端,包含入门、进阶、高级部分前端系列内容,当前是 CSS 的部分,瑶琴会持续更新,适合零基础的朋友,已有前端工作经验的可以不看,也可以当作基础知识回顾。 从这篇文章开始…

《Python编程从入门到实践》day19

#昨日知识点回顾 使用unittest模块测试单元和类 #今日知识点学习 第12章 武装飞船 12.1 规划项目 游戏《外星人入侵》 12.2 安装pygame 终端管理器执行 pip install pygame 12.3 开始游戏项目 12.3.1 创建Pygame窗口及响应用户输入 import sysimport pygameclass…

数据仓库——聚集

在数据仓库中,聚集(Aggregation)是一个重要的概念,它涉及到对大量详细数据进行统计和汇总,以便更高效地执行查询和分析。以下是关于数据仓库中聚集的详细解释: 概念:聚集是指按照维度粒度、指标…

msyql数据库创建可以远程登录的用户和重置root密码

创建新用户,只能本地连接,无法远程登录。 CREATE USER new_userlocalhost IDENTIFIED BY password; GRANT ALL PRIVILEGES ON *.* TO new_userlocalhost; FLUSH PRIVILEGES; 创建新用户,并授权相关数据库的权限给用户。 GRANT SELECT, INS…

IoTDB 入门教程⑥——数据库SQL操作 | 数据库管理和数据读写

文章目录 一、前文二、数据库管理2.1 创建数据库2.2 查询数据库2.3 删除数据库 三、数据读写3.1 查询数据3.2 新增数据3.3 修改数据3.4 删除数据 四、参考 一、前文 IoTDB入门教程——导读 本博文主要讲述数据库管理和数据读写 二、数据库管理 2.1 创建数据库 CREATE DATABASE…