美文网首页
kubernetes资源对象之daemonset

kubernetes资源对象之daemonset

作者: 一舍 | 来源:发表于2020-04-23 11:05 被阅读0次

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

    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
      name: fluentd-elasticsearch
      namespace: kube-system
      labels:
        k8s-app: fluentd-logging
    spec:
      selector:
        matchLabels:
          name: fluentd-elasticsearch
      template:
        metadata:
          labels:
            name: fluentd-elasticsearch
        spec:
          tolerations:
          - key: node-role.kubernetes.io/master
            effect: NoSchedule
          containers:
          - name: fluentd-elasticsearch
            image: gcr.io/google-containers/fluentd-elasticsearch:1.20
    

    更新

    可以通过 .spec.updateStrategy.type 设置更新策略。目前支持两种策略:

    • OnDelete:默认策略,更新模板后,只有手动删除了旧的 Pod 后才会创建新的 Pod
    • RollingUpdate:更新 DaemonSet 模版后,自动删除旧的 Pod 并创建新的 Pod

    在使用 RollingUpdate 策略时,还可以设置

    • .spec.updateStrategy.rollingUpdate.maxUnavailable, 默认 1
    • spec.minReadySeconds,默认 0

    回滚

    # 查询历史版本
    $ kubectl rollout history daemonset <daemonset-name>
    
    # 查询某个历史版本的详细信息
    $ kubectl rollout history daemonset <daemonset-name> --revision=1
    
    # 回滚
    $ kubectl rollout undo daemonset <daemonset-name> --to-revision=<revision>
    # 查询回滚状态
    $ kubectl rollout status ds/<daemonset-name>
    

    相关文章

      网友评论

          本文标题:kubernetes资源对象之daemonset

          本文链接:https://www.haomeiwen.com/subject/dasoihtx.html