无法SSH EKS辅助节点

时间:2019-01-28 06:25:40

标签: amazon-web-services amazon-ec2 kubernetes amazon-eks aws-eks

我已按照中的说明创建了EKS集群 https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html

添加了工作节点 按照上面的链接中的步骤3:启动和配置Amazon EKS Worker节点

在安全组中,我还添加了为工作节点启用ssh的规则。 当我尝试使用“ ec2-user”用户名和有效密钥登录工作节点时,SSH登录没有发生。

有人可以帮助我调试此问题吗?

4 个答案:

答案 0 :(得分:1)

我认为您缺少实例安全组的SSH规则,或者您使用了错误的SSH密钥连接到工作节点。

请从控制台检查您的安全组ID,如果没有,请从入站规则中添加SSH规则(如屏幕截图中所示)。 SSH rule for security group of worker nodes

或者您可以通过aws cli添加相同的规则,例如:

aws ec2 authorize-security-group-ingress --group-id <security-group-id>  --protocol tcp --port 22 --cidr 0.0.0.0/0

然后,通过指定有效的SSH密钥,您可以运行以下命令连接到工作节点。

ssh -i "ssh-key.pem" ec2-user@<node-external-ip or node-dns-name>

如果丢失/丢失了密钥,则需要使用新的SSH密钥对以cloudformation形式创建新堆栈,如以下教程所述。

Creating a Key Pair Using Amazon EC2Launch and Configure Amazon EKS Worker Nodes

希望它能对您有所帮助。

答案 1 :(得分:1)

我找到了解决方法。我使用工作节点使用的同一VPC创建了一个EC2实例,还为新创建的EC2实例使用了相同的安全组和密钥对。我尝试登录到新创建的EC2实例,该实例的工作方式类似于charm(不知道为什么它不适用于辅助节点)。一旦我登录到实例,就尝试使用专用IP从那里通过SSH到工作节点,该IP可以按预期工作。

再次解决此问题。不确定为什么我无法登录工作节点。

答案 2 :(得分:0)

创建Compute时,我们需要确保启用允许对节点的远程访问。如果未选择此选项,那么我们将无法通过SSH进入工作程序节点。

此外,EKS本身还会创建一个安全组,该安全组已附加到辅助EC2计算机上。我相信您可能会错过在步骤3中启用允许远程访问节点的问题。

该解决方法很有效,因为堡垒主机和服务器都在同一VPC中。这是默认情况下在安全组中添加的规则。

答案 3 :(得分:-1)

据我所知,默认情况下,AWS EKS工作程序节点没有公共IP。您可以尝试在与工作节点相同的子网中创建具有公共IP的EC2实例,然后像将其用作堡垒主机一样将其SSH到工作节点。