k8s——daemonset
daemonset
为每一个匹配的node都部署一个守护进程
# daemonset node:type=logs
daemonset 选择节点
- nadeSelector: 只调度到匹配指定的label的node上
- nodeAffinity:功能更丰富的node选择器,比如支持集合操作
- podAffinity:调度到满足条件的po所在的node上
daemonset 的实例
[root@master daemonset]# cat fluentd.yml
apiVersion: apps/v1
kind: DaemonSet # 创建daemonset 资源
metadata:
name: fluentd # 名字
spec:
selector:
matchLabels:
app: loging
template:
metadata:
labels:
app: loging
id: fluentd
name: fluentd # pod的名字
spec:
containers:
- name: fluentd-es
image: agilestacks/fluentd-elasticsearch:v1.3.0
env: # 环境变量
- name: FLUENTD_ARGS # 环境变量的key
value: -qq # 环境变量的value
volumeMounts: # 加载数据卷,避免数据丢失
- name: containers # 数据卷的名字
mountPath: /var/lib/docker/containers # 将数据卷挂载到容器内的哪个目录
- name: varlog
mountPath: /varlog
volumes: # 定义数据卷
- hostPath: # 数据卷类型,主机路径的模式,也就是与node共享目录
path: /var/lib/docker/containers # node中的共享目录
name: containers # 定义的数据卷的名称
- hostPath: # 数据卷采用的是主机目录的方式
path: /var/log
name: varlog
[root@master daemonset]#
使用标签
spec:
revisionHistoryLimit: 10
selector:
matchLabels:
app: loging
template:
metadata:
creationTimestamp: null
labels:
app: loging
id: fluentd
name: fluentd
spec:
nodeSelector:
type: microservices
# 层级关系: spec.template.spec.nodeSelector
滚动更新(不建议使用)
因为滚动更新一旦修改模版内的内容就会自动进行更新。
在一定程度上会浪费资源,所以我们一般会把更新策略换成OnDelete策略
k8s——daemonset的更多相关文章
- 【云计算】K8S DaemonSet 每个node上都运行一个pod
Kubernetes容器集群中的日志系统集成实践 Kubernetes是原生的容器编排管理系统,对于负载均衡.服务发现.高可用.滚动升级.自动伸缩等容器云平台的功能要求有原生支持.今天我分享一下我们在 ...
- k8s daemonset
DaemonSet控制器会在每个节点上运行单一的副本,他非常适合部署那些节点本身提供服务或者执行维护的 Pod 例如 : 存储相关,每个节点上运行glusterd, ceph 日志收集相关,每个节点上 ...
- k8s daemonset controller源码分析
daemonset controller分析 daemonset controller简介 daemonset controller是kube-controller-manager组件中众多控制器中的 ...
- 经典案例复盘——运维专家讲述如何实现K8S落地
经典案例复盘——运维专家讲述如何实现K8S落地 背景介绍 运满满自开始微服务改造以来,线上线下已有数千个微服务的 Java 实例在运行中.这些 Java 实例部署在数百台云服务器或虚机上,除少数访问量 ...
- 经典案例复盘——运维专家讲述如何实现K8S落地(摘抄)
以下是运满满K8s容器化进程记录,摘抄一下,方便以后查阅. 背景介绍 运满满自开始微服务改造以来,线上线下已有数千个微服务的 Java 实例在运行中.这些 Java 实例部署在数百台云服务器或虚机上, ...
- 现在k8s新版里,如何在每个node上运行一个带privileged的daemonset
以前,我们会在kubelet上加--allow-prividged启动参数来实现. 而现在,更推荐的是用pod secureity policy来实现.前面的那种方式以后会被废弃. https://k ...
- k8s之nginx-ingress、 Daemonset实现生产案例
上一篇中用node ip + 非80端口,访问k8s集群内部的服务.实际生产中更希望用node ip + 80端口的方式,访问k8s集群内的服务. # 修改mandatory.yaml中创建控制器部分 ...
- ASP.NET Core on K8S深入学习(3-2)DaemonSet与Job
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 上一篇<3-1 Deployment>中介绍了Deployment ...
- 从零开始入门 K8s | 应用编排与管理:Job & DaemonSet
一.Job 需求来源 Job 背景问题 首先我们来看一下 Job 的需求来源.我们知道 K8s 里面,最小的调度单元是 Pod,我们可以直接通过 Pod 来运行任务进程.这样做将会产生以下几种问题: ...
- k8s 开船记-修船:改 readinessProbe ,去 DaemonSet ,上 Autoscaler
(图片来自网络) 改 readinessProbe 对于昨天 k8s 尼克号发生的触礁事故,我们分析下来主要是2个原因,一是当时4个节点不够用造成部分容器负载过高而宕机,二是 readinessPro ...
随机推荐
- 离线语音识别,vosk,离线流式实时静音噪声监测,支持多语言开发python c++ c# java等
#!/usr/bin/env python3 from vosk import Model, KaldiRecognizer, SetLogLevel import sys import os imp ...
- 基于 Scheduled SQL 对 VPC FlowLog 实现细粒度时间窗口分析
简介: 针对VPC FlowLog的五元组和捕获窗口信息,在分析时使用不同时间窗口精度,可能得到不一样的流量特征,本文介绍一种方法将原始采集日志的时间窗口做拆分,之后重新聚合为新的日志做分析,达到更细 ...
- WPF开源轻便、快速的桌面启动器
前言 今天大姚给大家分享一款WPF开源.简单.轻便.快速的桌面启动器(支持多主题.多语言:简体中文.繁体中文.英文等):CurvaLauncher. WPF介绍 WPF 是一个强大的桌面应用程序框架, ...
- 在.Net中操作redis
在.Net中操作redis 一.环境 .Net 7 redis 7.2.4 二.所需类包 StackExchange.Redis 三.连接redis信息 appsettings.json配置redis ...
- 五:大数据架构回顾-LambdaPlus架构
Blink是阿里云在 Apache Flink 基础上深度改进的实时计算平台,Blink旨在将流处理和批处理统一,实现了全新的 Flink SQL 技术栈,在功能上,Blink支持现在标准 SQL 几 ...
- Gparted扩展硬盘空间
需求:有一些磁盘占满了空间,例如/亦或者/opt目录等.可以通过Gparted扩展空间. 1.vmware添加ISO [添加光盘]gparted-live-cd添加至ISO 2.延迟引导启动,强制进入 ...
- Linux中文件的隐藏属性
在Linux系统中,可以使用chattr与lsattr来操作文件的隐藏属性.
- ansible(8)--ansible的hostname模块
1. hostname模块 功能:管理远程主机的主机名. 示例一:更改192.168.20.22的主机名为nginx01: [root@xuzhichao ~]# ansible 192.168.20 ...
- spring-boot集成Quartz-job存储方式一JDBC
1.项目jar包依赖引入 <dependency> <groupId>org.springframework.boot</groupId> <artifact ...
- Vue3 echarts 组件化使用 resizeObserver
点击查看代码 const resizeObserver = ref(null); //进行初始化和监听窗口变化 onMounted(async () => { await nextTick(() ...