如何配置 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());
我正在尝试使用 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());