【问题标题】:Kubernetes CSI driver upgradeKubernetes CSI 驱动升级
【发布时间】:2020-05-15 00:00:25
【问题描述】:

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

我们还支持从 OpenShift 安装。从 OpenShift 升级有什么不同吗?

【问题讨论】:

    标签: kubernetes csi


    【解决方案1】:

    你应该从this documentation开始:

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

    特别是:

    将 CSI 驱动程序部署到 Kubernetes 中详细介绍了 Recommended Mechanism for Deploying CSI Drivers on Kubernetes.

    此外,您还可以通过an example 找到所有必要的信息。

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

    如果有帮助,请告诉我。

    【讨论】:

    • 我读过。但是没有具体提到升级。仅用于部署过程。没有关于如何接受 csi 驱动程序升级过程的建议,
    • 卸载/安装是要走的路。
    • 是的。我们已经准备好工作的司机。我们通过删除驱动程序 pod 并再次创建它们来进行升级,这也可以正常工作。只是想知道这是公认的升级方法。
    • 很高兴听到这个消息。如果它有助于解决您的问题,请接受答案。
    【解决方案2】:

    CSI 驱动程序可能会有所不同,但我认为最好的方法是滚动更新插件的 DaemonSet。一旦您应用新的 DaemonSet 配置,它将自动发生,例如较新的泊坞窗图像。 更多详情请见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
    

    【讨论】:

      猜你喜欢
      • 2023-01-24
      • 2022-09-30
      • 1970-01-01
      • 2021-10-04
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      • 1970-01-01
      相关资源
      最近更新 更多