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