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