From 641cce456f2b128a12e4fd62ff81b811482df127 Mon Sep 17 00:00:00 2001 From: Ustuzhanin Anton Date: Thu, 18 Feb 2021 00:29:44 +0500 Subject: [PATCH 1/4] feat: custom updateStrategy for deamonset --- README.md | 2 +- deploy/helm/seaweedfs-csi-driver/.helmignore | 1 + deploy/helm/seaweedfs-csi-driver/Chart.yaml | 2 +- deploy/helm/seaweedfs-csi-driver/templates/daemonset.yml | 3 +-- deploy/helm/seaweedfs-csi-driver/values.yaml | 9 ++++++++- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3c25605..855522f 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ git clone https://github.com/seaweedfs/seaweedfs-csi-driver.git ``` 2. Install ```bash -helm install --set seaweedfsFiller= seaweedfs-csi-driver ./seaweedfs-csi-driver/deploy/helm/seaweedfs-csi-driver +helm install --set seaweedfsFiller= seaweedfs-csi-driver ./seaweedfs-csi-driver/deploy/helm/seaweedfs-csi-driver ``` 3. Clean up diff --git a/deploy/helm/seaweedfs-csi-driver/.helmignore b/deploy/helm/seaweedfs-csi-driver/.helmignore index 0e8a0eb..427e582 100644 --- a/deploy/helm/seaweedfs-csi-driver/.helmignore +++ b/deploy/helm/seaweedfs-csi-driver/.helmignore @@ -21,3 +21,4 @@ .idea/ *.tmproj .vscode/ +.tgz diff --git a/deploy/helm/seaweedfs-csi-driver/Chart.yaml b/deploy/helm/seaweedfs-csi-driver/Chart.yaml index 2a99ae9..ac9c7aa 100644 --- a/deploy/helm/seaweedfs-csi-driver/Chart.yaml +++ b/deploy/helm/seaweedfs-csi-driver/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: seaweedfs-csi-driver description: A Helm chart for Kubernetes type: application -version: 0.1.0 +version: 0.1.1 appVersion: latest diff --git a/deploy/helm/seaweedfs-csi-driver/templates/daemonset.yml b/deploy/helm/seaweedfs-csi-driver/templates/daemonset.yml index aa887c2..386d669 100644 --- a/deploy/helm/seaweedfs-csi-driver/templates/daemonset.yml +++ b/deploy/helm/seaweedfs-csi-driver/templates/daemonset.yml @@ -9,8 +9,7 @@ spec: matchLabels: app: {{ template "seaweedfs-csi-driver.name" . }}-node updateStrategy: - rollingUpdate: - maxUnavailable: 25% + {{ toYaml .Values.node.updateStrategy | nindent 4 }} template: metadata: labels: diff --git a/deploy/helm/seaweedfs-csi-driver/values.yaml b/deploy/helm/seaweedfs-csi-driver/values.yaml index f594151..a5d5750 100644 --- a/deploy/helm/seaweedfs-csi-driver/values.yaml +++ b/deploy/helm/seaweedfs-csi-driver/values.yaml @@ -28,5 +28,12 @@ driverName: seaweedfs-csi-driver node: # Deploy node daemonset - # for a smoother update it is better to use static pods on nodes enabled: true + # When pod on node be recreated all pod on same node lost PV. + # For safe update use updateStrategy.type: OnDelete and manual move pods who use PV and delete damonset pod + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 25% + + From ba193177511c45ce9cf659cb86c569c9de587e7f Mon Sep 17 00:00:00 2001 From: Ustuzhanin Anton Date: Thu, 18 Feb 2021 00:42:52 +0500 Subject: [PATCH 2/4] feat: custom updateStrategy for deamonset --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index f48d255..fa7b4f1 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,17 @@ helm install --set seaweedfsFiler= seaweedfs-csi-driver ./seawee ```bash helm uninstall seaweedfs-csi-driver ``` + +# Safe rolling update +When update DaemonSet ( DS ) break processes who implements fuse mount. And now new pod not remount net device +For better safe update use ``node.updateStrategy.type: OnDelete`` in this need manual update. Steps: + - delete DS pods on node where no exists seaweefs PV + - cordon or taint node + - evict or delete pods with seaweedfs PV + - delete DS pos on node + - uncordon or remove taint on node + - repeat all steps on all nodes + # License [Apache v2 license](https://www.apache.org/licenses/LICENSE-2.0) From d6cf7499e39d83bf69313f81acac374ca170c690 Mon Sep 17 00:00:00 2001 From: Ustuzhanin Anton Date: Thu, 18 Feb 2021 00:46:37 +0500 Subject: [PATCH 3/4] feat: custom updateStrategy for deamonset --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fa7b4f1..a31582a 100644 --- a/README.md +++ b/README.md @@ -62,8 +62,10 @@ helm install --set seaweedfsFiler= seaweedfs-csi-driver ./seawee helm uninstall seaweedfs-csi-driver ``` -# Safe rolling update -When update DaemonSet ( DS ) break processes who implements fuse mount. And now new pod not remount net device +# Safe rollout update +When update DaemonSet ( DS ) break processes who implements fuse mount. +And now new pod not remount net device + For better safe update use ``node.updateStrategy.type: OnDelete`` in this need manual update. Steps: - delete DS pods on node where no exists seaweefs PV - cordon or taint node From f45aaa39ddfca24b611067fc7d562cd9ddbe8b6e Mon Sep 17 00:00:00 2001 From: Ustuzhanin Anton Date: Thu, 18 Feb 2021 00:52:58 +0500 Subject: [PATCH 4/4] feat: custom updateStrategy for deamonset --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a31582a..196d156 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ For better safe update use ``node.updateStrategy.type: OnDelete`` in this need m - delete DS pods on node where no exists seaweefs PV - cordon or taint node - evict or delete pods with seaweedfs PV - - delete DS pos on node + - delete DS pod on node - uncordon or remove taint on node - repeat all steps on all nodes