微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

k8s基础之五 DaemonSet守护进程集

DaemonSet:守护进程集,缩写为ds,在所有节点或者是匹配的节点上都部署一个pod

运行集群存储的daemon,比如ceph,或者glusterd,
节点的CNI网络插件,calico
节点日志的收集:fluentd或者是filebeat
节点的健康:node exporter
服务暴露:ingress Nginx

 

创建一个daemonSet

首先daemonset和deployment差别不大,daemonset和deployment的区别就是类型不一样,然后多了一个update字段

apiVersion: apps/v1
kind: DaemonSet
Metadata:
  annotations:
    deprecated.daemonset.template.generation: "2"
  creationTimestamp: "2021-12-06T15:21:02Z"
  generation: 2
  labels:
    app: Nginx
  name: Nginx
  namespace: default
spec:
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: Nginx
  template:
    Metadata:
      creationTimestamp: null
      labels:
        app: Nginx
    spec:
      containers:
      - image: Nginx:1.15.2
        imagePullPolicy: IfNotPresent
        name: Nginx
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      nodeselector:
        ds: "True"
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
  updateStrategy:
    rollingUpdate:
      maxUnavailable: 1
    type: RollingUpdate
status:
  currentNumberScheduled: 2
  desirednumberScheduled: 2
  numberAvailable: 2
  numberMisscheduled: 0
  numberReady: 2
  observedGeneration: 2
  updatednumberScheduled: 2

 

DaemonSet更新和回滚

kubectl set image ds Nginx Nginx=1.15.3 --record
# 吧标签ds = Nginx的容器镜像更新为1.15.3

#更新建议使用ondelete不建议使用RollingUpdateRollingUpdate
#因为使用RollingUpdateRollingUpdate的话影响范围很大,因此使用ondelete更新完手动删除一个不太重要的节点,如果有问题影响的只是哪一个比较不重要的节点

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐