如何配置KubernetesClient连接到AWS EKS ckluster

时间:2020-03-25 20:36:36

标签: kubernetes aws-sdk fabric8

我正在尝试使用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开发工具包访问AWS集群,但是这些工具不能提供我所需的一切。

有什么想法/建议吗?

1 个答案:

答案 0 :(得分:2)

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

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