我正在尝试使用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集群,但是这些工具不能提供我所需的一切。
有什么想法/建议吗?
答案 0 :(得分:2)
在还寻找连接到EKS的方法时发现了这个问题。如果有人觉得有用,将发布我的解决方案。
就我而言,我首先通过 aws eks get-token --cluster-name = my-cluster 命令获取具有IAM编码角色的令牌,然后在ConfigBuilder中使用它:
new DefaultKubernetesClient(
new ConfigBuilder().withMasterUrl(clusterEndPoint)
.withOauthToken(retrievedToken).withTrustCerts(true).build());