仅在通过eksctl创建集群时才能在AWS上连接到kubernetes

时间:2019-09-04 09:50:34

标签: aws-eks eksctl

问题

在AWS上创建kubernetes集群时,使用eksctl和AWS Management Console有什么区别?

喜欢引擎盖下到底发生了什么?

在两种情况下都可以创建集群,但是只有在使用eksctl时,您才能在集群创建后连接到集群。

有什么想法吗?

如何复制

我正在关注AWS的官方教程。

本教程不起作用,创建了集群,但是您无法连接到该集群。如果您遵循它,那么当您执行第2.3步并尝试执行该命令时,会收到需要登录的错误。

Ref1:https://docs.aws.amazon.com/eks/latest/userguide/getting-started-console.html

但是,遵循使用eksctl的AWS相邻教程的指导,一切正常。

Ref2:https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html

只要按照他们告诉您的步骤进行,一个就行了,而另一个却不行:/

如何测试

1-使用AWS管理控制台

命令

kubectl get svc

输出

error: You must be logged in to the server (Unauthorized)

2-使用eksctl

命令

kubectl get svc

输出

NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   6m13s

预期产量

期望

两个都应该允许我连接到kubernetes集群。

实际

仅当我使用eksctl创建群集时,我才能连接到群集

2 个答案:

答案 0 :(得分:0)

修订

深入研究 eksctl 之后,我找到了本教程:

https://eksctl.io/usage/creating-and-managing-clusters/

那里有一节说明如何使用配置文件创建集群。

因此,我将 IAM角色的值和 VPC和子网信息映射到该文件,并创建了集群,最后我可以连接了,没问题。

我可以推断出我的权限和配置正确。

我认为使用eksctl命令时,IAM角色已以某种方式映射到内部组件,并且AWS Management Console部分的文档中缺少此步骤。

我不是100%知道它,但是如果其他人有意见,请与我们分享。

答案 1 :(得分:0)

好的,我解决了。 基本上我的错误是我在〜/ .aws / credentials下配置了另一个IAM用户。