如何配置 Kubernetes Client 以连接到 AWS EKS 集群

How to configure KubernetesClient to connect to AWS EKS ckluster

我正在尝试使用 io.fabric8.kubernetes.client.KubernetesClient 连接到我的 AWS EKS 集群,但我没有成功,如下所示:

  Cluster cluster =
      EKSClient.describeCluster(DescribeClusterRequest.builder().name(clusterName).build())
          .cluster();

  final io.fabric8.kubernetes.client.Config kubeConfig =
      new ConfigBuilder()
          .withMasterUrl(cluster.endpoint())
          .withTrustCerts(true)
          .withRequestTimeout(10_000)
          .build();

  kubernetesClient = new DefaultKubernetesClient(kubeConfig);

连接刚刚超时,所以我确定我遗漏了什么。我可以使用所有 AWS SDK 工具访问 AWS 集群,但这些工具并不能提供我需要的一切。

任何 ideas/suggestions?

在寻找连接到 EKS 的方法时发现了这个问题。将 post 我的解决方案,以防有人发现它有用。
在我的例子中,我首先通过 aws eks get-token --cluster-name=my-cluster 命令获取具有编码 IAM 角色的令牌,然后在 ConfigBuilder 中使用它:

new DefaultKubernetesClient(
           new ConfigBuilder().withMasterUrl(clusterEndPoint)
                      .withOauthToken(retrievedToken).withTrustCerts(true).build());