• Kubernetes资源对象之DaemonSet


    简介

    DaemonSet好比Kubernetes集群Node的守护进程,可以保证在每个Node上(或者一部分Node上)都运行同一个Pod且只运行一个。适用的场景主要是一些agent,如日志收集的agent、监控的agent等。

    daemonset 配置示例

    daemonset的配置示例如下:

    apiVersion: apps/v1 
    kind: DaemonSet
    metadata:
      name: fluentd
    spec:
      selector:
          matchLabels:
            name: fluentd
      template:
        metadata:
          labels:
            name: fluentd 
        spec:
          nodeSelector:
            type: prod 
          containers:
          - name: fluentd
            image: gcr.azk8s.cn/google-containers/fluentd-elasticsearch:1.20
            resources:
              limits:
                memory: 200Mi
              requests:
                cpu: 100m
                memory: 200Mi
    

    Daemonset 滚动升级

    滚动升级特性是Kubernetes服务发布的一个很有用的特性,而Kubernetes从1.6开始支持 DaemonSet的滚动升级,1.7开始支持DaemonSet滚动升级的回滚。

    Daemonset升级策略

    DaemonSet目前有两种升级策略,可以通过.spec.updateStrategy.type指定:

    • OnDelete: 该策略表示当更新了DaemonSet的模板后,只有手动删除旧的DaemonSet Pod才会创建新的DaemonSet Pod
    • RollingUpdate: 该策略表示当更新DaemonSet模板后会自动删除旧的DaemonSet Pod并创建新的DaemonSetPod

    示例

    要使用DaemonSet的滚动升级,需要 .spec.updateStrategy.type设置为RollingUpdate。 也可以进一步设置.spec.updateStrategy.rollingUpdate.maxUnavailable,默认值为1; 设置.spec.minReadySeconds默认为0,用于指定认为DaemoSet Pod启动可用所需的最小的秒数。

    示例如下:

    apiVersion: extensions/v1beta1
    kind: DaemonSet
    metadata:
      name: test-ds
      namespace: kube-system
      labels:
        tier: node
        app: test
    spec:
      updateStrategy:
        type: RollingUpdate
      selector:
        matchLabels:
          ...
      template:
        ...
    

    然后执行:

    kubectl apply -f test-ds.yaml
    

    可以使用如下命令查看滚动升级状态:

    kubectl rollout status dsd/test-ds -n kube-system
    
  • 相关阅读:
    Java 常见异常种类
    关系型数据库和非关系型数据库的区别
    HTTP中Get与Post的区别
    经典排序算法详细总结。
    新浪实时股票数据接口http://hq.sinajs.cn/list=股票代码
    WinIo驱动级键盘模拟编程
    Logback_日志使用详解(转)
    Java_位运算(移位、位与、或、异或、非)
    算法_bitmap算法
    Selenium_IEDriver操作sendkeys输入速度太慢
  • 原文地址:https://www.cnblogs.com/breezey/p/12152526.html
Copyright © 2020-2023  润新知