【发布时间】:2021-01-12 13:54:13
【问题描述】:
升级 Kubernetes 版本后,我收到错误:
Error: failed decoding rader into objects: unable to recognize "": no matches for kind "StatefulSet" in version "apps/v1beta2"
在我对 StackOverflow 和网上更多类似问题进行了一些研究后,我发现了两种克服方法:
降级 Kubernetes 版本——这个解决方案目前是不可能的。
将以下行添加到 --runtime-config=apps/v1beta1=true,apps/v1beta2=true,extensions/v1beta1/daemonsets=true,extensions/v1beta1/deployments=true,extensions/v1beta1/replicasets=true,extensions/v1beta1/networkpolicies=true,extensions/v1beta1/podsecuritypolicies=true 到 /etc/kubernetes/manifest/kube-apiserver.yaml 文件中。
我知道这个文件位于 api-server 本身的 docker 镜像中,所以我寻找这个特定的镜像,但我找到了 3 个名为
kube-apiserver-ip-xx.xx.xx.xxx.eu-west-1.compute.internal 和文件 kube-apiserver.yaml 全部丢失。
所以我继续研究,发现文件实际上位于 master 内部而不是 pod 中。
除了上述之外,构建过程还使用了分蘖,我不知道它是否与这个问题有关,甚至可能需要对分蘖配置进行一些额外的调整。 我在一些帖子中读到我需要更改主节点,但我不明白如何使用 kubectl 找到这个特定节点。 总而言之,我有两个问题:
1.分蘖是否会影响我想要的解决方案的过程?
2.我在哪里可以找到 api-server 的主节点以及如何访问它(即哪些 kubectl 命令等)。
我仍然是 Kubernetes、helm 和 tiller 的初学者,因此为我的无知道歉。 感谢
【问题讨论】:
标签: kubernetes kubernetes-helm kubectl