SSH到通过KOPS创建的kubernetes节点

问题描述 投票:1回答:3

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

kops得到秘密

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

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

amazon-web-services amazon-ec2 kubernetes kops
3个回答
1
投票

您无法恢复私钥,但您应该能够按照以下过程安装新的公钥:

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)

摘自本文件:

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


0
投票

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

并不是的。这些是访问群集中的kube-apiserver的秘密。例如,您可以运行kubectl命令。

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

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

keypair

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


0
投票

在我的情况下,当我使用Kops安装集群时,我必须像下面那样运行ssh-keygen来创建id_rsa.pub/pvt密钥。这让我可以简单地做一个ssh或者

ssh-keygen
kops create secret --name ${KOPS_CLUSTER_NAME} sshpublickey admin -i ~/.ssh/id_rsa.pub

然后用。创建集群

kops update cluster --name ${KOPS_CLUSTER_NAME} --yes
ssh [email protected]
© www.soinside.com 2019 - 2024. All rights reserved.