KubernetesリソースオブジェクトのDaemonSet

1972 ワード

目次
  • 概要
  • daemonset構成例
  • Daemonsetスクロールアップグレード
  • Daemonsetアップグレードポリシー

  • 概要
    DaemonSetは、Kubernetesクラスタノードのデーモンプロセスのようなもので、各ノード(または一部のノード)で同じPodが実行され、1つしか実行されないことを保証します.適用されるシーンは、ログ収集の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には現在2つのアップグレード戦略があります.spec.updateStrategy.type指定:
  • OnDelete:このポリシーは、DaemonSetのテンプレートを更新すると、古いDaemonSet Podを手動で削除してこそ、新しいDaemonSet Pod
  • が作成されることを示しています.
  • RollingUpdate:このポリシーは、DaemonSetテンプレートを更新すると、古いDaemonSet Podが自動的に削除され、新しいDaemonSet
  • が作成されることを示します.

    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