KOPS 将 ssh 访问密钥重新加载到集群

时间:2021-03-24 09:01:36

标签: kubernetes kops

我想使用来自此网站的命令重新启动我的 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 的情况下更改这些密钥吗?

2 个答案:

答案 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更新集群和滚动更新,然后进行秘密删除和创建。