Kubernetes CSI驱动程序升级

时间:2020-01-29 13:15:01

标签: kubernetes csi

我们正在开发k8s CSI驱动程序 当前,为了升级驱动程序,我们删除已安装的操作员吊舱,cdrs和角色,然后从新版本映像重新创建它们。 建议的升级方式是什么?还是建议使用卸载/安装方法? 我找不到任何相关信息

我们还支持从OpenShift安装。从OpenShift升级是否有任何区别?

2 个答案:

答案 0 :(得分:0)

您应从this documentation开始:

此页面向CSI驱动程序开发人员介绍如何部署他们的 驱动程序安装到Kubernetes集群上。

特别是:

将CSI驱动程序部署到Kubernetes的详细信息在 Recommended Mechanism for Deploying CSI Drivers on Kubernetes

此外,您将在an example中找到所有必要的信息。

您的问题缺少有关您的用例的详细信息,但我强烈建议您从我为您提供的指南中开始。

请让我知道是否有帮助。

答案 1 :(得分:0)

CSI驱动程序可以有所不同,但是我认为最好的方法是对插件的DaemonSet进行滚动更新。一旦您套用了新的DaemonSet设定(例如,较新的docker映像。 有关更多详细信息,请参见https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/

例如:

kubectl get -n YOUR-NAMESPACE daemonset YOUR-DAEMONSET --export -o yaml > plugin.yaml
vi plugin.yaml # Update your image tag(s)
kubectl apply -n YOUR-NAMESPACE -f plugin.yaml

一种仅更新图像的快捷方式:

kubectl set image ds/YOUR-DAEMONSET-NAME YOUR-CONTAINER-NAME=YOUR-IMAGE-URL:YOUR-TAG -n YOUR-NAMESPACE

注意:我发现我还需要使用外部供应商重新启动(终止)该Pod。可能有一种更优雅的方式来处理此问题,但它在紧急情况下有效。

kubectl delete pod -n YOUR-NAMESPACE YOUR-EXTERNAL-PROVISIONER-POD