我们正在开发k8s CSI驱动程序 目前,为了升级驱动程序,我们删除已安装的操作员 pod、cdr 和角色,并从新版本映像重新创建它们。 建议的升级方法是什么?还是建议的方法是卸载/安装? 我找不到任何相关信息
我们还支持从OpenShift安装。从 OpenShift 升级有什么区别吗?
您应该从以下文档开始:
本页向 CSI 驱动程序开发人员介绍如何部署其 驱动程序到 Kubernetes 集群上。
特别是:
将 CSI 驱动程序部署到 Kubernetes 中详细介绍了 在 Kubernetes 上部署 CSI 驱动程序的推荐机制。
此外,您将通过示例找到所有必要的信息。
您的问题缺少有关您的用例的一些详细信息,但我强烈建议从我向您展示的指南开始。
请让我知道这是否有帮助。
CSI 驱动程序可能会有所不同,但我相信最好的方法是对插件的 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