OpenKruise使用rollout控制deploy升级,用命令行进行下一步有报错,是什么原因呢?

OpenKruise使用rollout控制deploy升级,用命令行进行下一步有报错,是什么原因呢?用的v1beta1的rollout,都是最新版本
1b6381dd9c2723146f8352c67bc104bb.png
c4699fc2fd0879d4a1f16d401ba11786.png

展开
收起
嘟嘟嘟嘟嘟嘟 2024-01-04 00:15:58 105 分享 版权
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    OpenKruise是一个基于Kubernetes的云原生应用管理平台,它提供了一种简单的方式来部署和管理微服务。在OpenKruise中,rollout是一种用于控制deploy升级的方法。

    如果你在使用OpenKruise的v1beta1版本的rollout时遇到命令行报错,可能的原因有以下几点:

    1. 配置错误 :请检查你的配置文件是否正确。例如,你可能需要确保你的Deployment、Service等资源的定义是正确的。

    2. 权限问题 :如果你没有足够的权限来执行这个操作,你可能会遇到错误。请确保你的账户有足够的权限来创建和更新这些资源。

    3. 版本兼容性问题 :如果你使用的OpenKruise的版本与你的Kubernetes集群的版本不兼容,你可能会遇到错误。请确保你的OpenKruise版本和Kubernetes集群版本是兼容的。

    4. 网络问题 :如果你的网络连接有问题,你可能会遇到错误。请检查你的网络连接是否正常。

    5. 其他问题 :如果以上都没有问题,那么可能是其他未知的问题。你可以查看OpenKruise的日志或者使用kubectl describe命令来获取更详细的错误信息。

    为了解决这个问题,你可以尝试以下步骤:

    • 检查并修复你的配置文件。
    • 确保你的账户有足够的权限来执行这个操作。
    • 确保你的OpenKruise版本和Kubernetes集群版本是兼容的。
    • 检查你的网络连接。
    • 如果以上都没有问题,那么可能是其他未知的问题。你可以查看OpenKruise的日志或者使用kubectl describe命令来获取更详细的错误信息。
    2024-01-05 17:41:35
    赞同 展开评论
  • kubectl patch rollout.rollouts.kruise.io rollouts-demo-mtf --type merge --patch '{"status":{"canaryStatus":{"currentStepState":"StepReady"}}}' --subresource=status
    可以试试这个办法。此回答整理自钉群“OpenKruise 社区交流群”

    2024-01-04 18:08:52
    赞同 展开评论
  • 这个错误信息表明,你的kubeaplicaiton控制器没有正确地注册Rollout资源。这可能是由于你的kubeaplicaiton控制器版本过旧,不支持v1beta1的Rollout资源。

    你可以尝试以下步骤来解决这个问题:

    1. 确认你的kubeaplicaiton控制器的版本。你可以通过运行kubectl get pods -n kruise-system -o wide命令来查看kubeaplicaiton控制器的版本。

    2. 如果你的kubeaplicaiton控制器的版本过旧,你需要升级到你的kubeaplicaiton控制器到最新版本。你可以参考OpenKruise的官方文档来进行升级。

    3. 在升级完成后,你需要重新启动kubeaplicaiton控制器。你可以通过运行kubectl delete pod -n kruise-system -l app.kubernetes.io/name=kruise-controller-manager命令来删除旧的kubeaplicaiton控制器,然后通过运行kubectl apply -f https://raw.githubusercontent.com/openkruise/kruise/master/install/install.yaml命令来部署新的kubeaplicaiton控制器。

    2024-01-04 10:00:51
    赞同 展开评论