首页 > 其他分享 >k8s——daemonset

k8s——daemonset

时间:2024-05-22 17:30:31浏览次数:14  
标签:node fluentd name daemonset k8s spec containers

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策略

标签:node,fluentd,name,daemonset,k8s,spec,containers
From: https://www.cnblogs.com/humlogs/p/18206027

相关文章

  • 微服务实践k8s&dapr开发部署实验(1)服务调用
    前置条件安装docker与dapr:手把手教你学Dapr-3.使用Dapr运行第一个.Net程序安装k8sdapr自托管模式运行新建一个webapi无权限项目launchSettings.json中applicationUrl端口改成5001,如下:"applicationUrl":"http://localhost:5001"//WeatherForecastController.......
  • k8s——statefulset
    statefulset基础模版[root@masterstatefulset]#catweb.yaml---apiVersion:v1kind:Servicemetadata:name:nginxlabels:app:nginxspec:ports:-port:80name:webclusterIP:Noneselector:app:nginx---apiVersion:apps/v1ki......
  • minikube 搭建 k8s 单机环境
    准备linux环境uname-acat/etc/os-release查看linux环境查看linux发行版本,可以在/etc目录下找到以release结尾的文件,这个一般就是记录发行版本的文件准备docker环境需要有一个镜像打包的工具安装dockersudoyuminstalldocker如果提示没有找到软件,那么需要配置一下软......
  • 从需求角度介绍PasteSpider(K8S平替部署工具适合于任何开发语言)
             你是否被K8S的强大而吸引,我相信一部分人是被那复杂的配置和各种专业知识而劝退,应该还有一部分人是因为K8S太吃资源而放手!    这里介绍一款平替工具PasteSpider,PasteSpider是一款使用c#编写的linux容器部署工具(使用PasteSpider和自己用啥语言开发没关......
  • k8s——deployment
    创建deployment[root@masterdeploy]#kubectlcreatedeploynginx-deploy--image=nginx:1.7.9deployment.apps/nginx-deploycreated//kubectlcreate资源类型资源名称(deployment的名称)指定镜像//都是在动态的更新pod副本的数量deployment和replicaSet是嵌套关......
  • K8S多master节点更换证书
    以下命令master节点均需要执行1.备份cp-a/etc/kubernetes{,.bak}cp-a/var/lib/kubelet{,.bak}cp-a/var/lib/etcd/var/lib/etcd.bak2.生成kubeadm-configkubectl-nkube-systemgetcmkubeadm-config-oyaml>kubeadm-config-20240521.yaml3.刷新证书到期时间再......
  • k8s安全权限配置
     https://blog.csdn.net/qq_51545656/article/details/136627284一、安全机制Kubernetes的安全机制非常关键,因为它确保了集群的稳定性和数据的安全。三个主要安全机制是Kubernetes安全架构的核心组成部分:认证(Authentication):这是安全机制的第一道防线。它负责确认请求者的......
  • k8s常用命令
    aliask=kubectl操作kubeconfig#查看contextkconfigget-contexts#切换contextkconfiguse-contextcontextName#使用context访问k--context=contextNamegetpod操作k8s资源#设置节点标签klabelnodenodeNamekey=value--overwrite#设置节点污点ktaintn......
  • rancher添加k8s节点时显示节点已添加
    由于几台服务器都用相同的外部externalip,而添加k8s节点时有外部ip先使用外部ip,所以会显示节点已添加,无法添加成功,此时需要用--address参数来指定内部ip,这样节点就由内部ip来添加如下添加k8s节点的命令:sudodockerrun-d--privileged--restart=unless-stopped--net=ho......
  • k3s和k8s对比,应该选择哪个
    k3s和k8s都是Kubernetes的发行版,但在一些关键特性上存在差异。以下是两者的对比及选择建议:1.特性与功能:k8s(Kubernetes)是一个功能完善的容器编排系统,具有自动装箱、自我修复、水平扩展、服务发现和负载均衡等特性。它支持复杂的部署、扩展和管理操作,适用于大规模生产环境。k3s......