【问题标题】:connect to kubernetes on AWS only works when the cluster is created via eksctl连接到 AWS 上的 kubernetes 仅在通过 eksctl 创建集群时有效
【发布时间】:2019-09-04 09:50:34
【问题描述】:

问题

在 aws 上创建 kubernetes 集群时使用 eksctl 和 AWS 管理控制台有什么区别?

就像幕后真正发生的事情?

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

有什么想法吗?

如何复制

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

本教程不起作用,集群已创建但您无法连接到它。如果您按照它进行操作,当您进入步骤 2.3 并尝试该命令时,您会收到一个需要登录的错误。

参考1: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 创建集群,我只能连接到集群

【问题讨论】:

    标签: amazon-eks eksctl


    【解决方案1】:

    修改

    深入研究eksctl后,我找到了这个教程:

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

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

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

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

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

    我不是 100% 确定,但如果其他人有意见,请分享。

    【讨论】:

      【解决方案2】:

      好的,我解决了。 基本上我的错误是我在 ~/.aws/credentials 下配置了不同的 IAM 用户。

      【讨论】:

        猜你喜欢
        • 2021-04-13
        • 1970-01-01
        • 2016-05-02
        • 1970-01-01
        • 2019-12-30
        • 1970-01-01
        • 1970-01-01
        • 2020-08-01
        • 2019-03-02
        相关资源
        最近更新 更多