我想使用来自此网站的命令重新启动我的 Kubernetes 访问 ssh 密钥: https://github.com/kubernetes/kops/blob/master/docs/security.md#ssh-access
所以那些:
kops delete secret --name <clustername> sshpublickey admin
kops create secret --name <clustername> sshpublickey admin -i ~/.ssh/newkey.pub
kops update cluster --yes
当我输入最后一个命令“kops update cluster --yes”时,我得到了那个错误:
completed cluster failed validation: spec.spec.kubeProxy.enabled: Forbidden: kube-router requires kubeProxy to be disabled
有人知道我可以在不禁用 kubeProxy 的情况下更改这些密钥吗?
答案 0 :(得分:0)
这个问题来自设置
spec:
networking:
kuberouter: {}
但不是
spec:
kubeProxy:
enabled: false
在集群规范中。
使用 kops get -o yaml > myspec.yaml
导出配置,根据上面的错误编辑配置。然后您可以使用 kops replace -f myspec.yaml
应用规范。
将上述 yaml 检查到版本控制中以跟踪对集群配置所做的任何更改被认为是最佳实践。
修改集群规范后,新的 ssh 密钥应该也能正常工作。
答案 1 :(得分:0)
您运行的是哪个版本的 kubernetes?如果您运行的是最新版本 1.18.xx,则用户不是管理员而是 ubuntu。 您可以做的另一件事是首先编辑集群并将 kubeproxy 的spect 设置为 enabled fist 。运行kops更新集群和滚动更新,然后进行秘密删除和创建。