SSH 到通过 KOPS 创建的 kubernetes 节点

Ans*_*thi 7 amazon-ec2 amazon-web-services kubernetes kops

我通过 Kops 创建了一个 Kubernetes 集群。配置和 ssh 密钥位于我无法再访问的机器中。即使我丢失了密钥,是否可以通过 kops ssh 到节点?我看到有一个命令 -

警察得到秘密

这给了我所有的秘密。我可以使用它来获得对节点的 ssh 访问权限以及如何操作吗?

我看到集群状态存储在 S3 中。它也存储密钥吗?

小智 7

您无法恢复私钥,但您应该可以按照以下步骤安装新的公钥:

kops delete secret --name <clustername> sshpublickey admin
kops create secret --name <clustername> sshpublickey admin -i ~/.ssh/newkey.pub
kops update cluster --yes to reconfigure the auto-scaling groups
kops rolling-update cluster --name <clustername> --yes to immediately roll all the machines so they have the new key (optional)
Run Code Online (Sandbox Code Playgroud)

取自本文档:

https://github.com/kubernetes/kops/blob/master/docs/security.md#ssh-access


Ric*_*ico 1

这给了我所有的秘密。我可以使用它来通过 ssh 访问节点吗?如何操作?

并不真地。这些是访问集群中 kube-apiserver 的秘密。例如,让您能够运行kubectl命令。

我看到集群状态存储在 S3 中。它也存储密钥吗?

它存储在 S3 中,但不存储用于访问服务器的 ssh 密钥。它们存储在 AWS 中的“密钥对”下。

密钥对

不幸的是,您只能获取只能用于登录一次的私钥(当您创建密钥对时)。所以我认为如果你没有私钥你就不走运。如果您有权访问 AWS 控制台,则可以对实例的根驱动器进行快照,并使用您拥有私钥的不同 AWS 密钥对一一重新创建节点(或控制平面)。