1

我正在使用具有主版本1.15.9-gke.24和 linkerd2 的 GKE 集群作为我的gRPC服务的代理。

从我的集群中,我看到 calico 节点垂直自动缩放器 pod 处于CrashLoopBackOff状态。从日志中我看到以下内容

$ kubectl logs -f calico-node-vertical-autoscaler-7767597775-rd68v -n kube-system
I0503 10:36:55.586271       1 autoscaler.go:46] Scaling namespace: kube-system, target: daemonset/calico-node
E0503 10:36:55.720025       1 autoscaler.go:49] unknown target kind: Tap

据此,需要从更新k8s.gcr.io/cpvpa-amd64:v0.8.1k8s.gcr.io/cpvpa-amd64:v0.8.2。我编辑了部署并替换了版本。但似乎 gke 将图像版本重置为v0.8.1. 如何在不升级集群的情况下修改版本?

附加信息:

    $ linkerd version
    Client version: stable-2.7.1
    Server version: stable-2.7.1
4

1 回答 1

4

我编辑了部署并替换了版本。但似乎 gke 将映像版本重置为 v0.8.1。如何在不升级集群的情况下修改版本?

当您尝试编辑清单以将 cpvpa 映像升级到 0.8.2 时,它会升级到 0.8.1,因为 GKE 是托管集群,这是预期的行为。

  • 对对象所做的任何更改kube-system都将自动恢复,这是因为插件管理器将执行必要的操作来保留它的状态。

  • 不鼓励通过 apiserver 直接操作这些插件,因为 addon-manager 会将它们带回原始状态。

在GKE 发行说明页面上发布 0.8.2 版本后升级集群版本 是唯一推荐的获取方式。

  • 作为一种解决方法,我建议您尝试在Github 问题中提到的 Linkerd 配置中设置priorityClass和配置作为解决方案,而 0.8.2 不可用。priorityClassName

如果您需要进一步的帮助,请在评论中告诉我!

于 2020-05-04T16:03:03.473 回答