【发布时间】:2020-06-18 04:56:34
【问题描述】:
我创建了一个 AWS EKS 集群。为了获取它的kubeconfig,我通常使用shell运行aws eks update-kubeconfig --name cluster-name --region us-west-2。
但是,我现在希望在 Go 中获取 kubeconfig,而不必在 shell 中运行任何东西(目标是在 Go 测试中创建并操作 EKS 集群)。我可以使用以下代码描述 EKS 集群:
package main
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/eks"
)
func main() {
sess := session.Must(session.NewSession(&aws.Config{
Region: aws.String("us-west-2"),
}))
eksSvc := eks.New(sess, aws.NewConfig().WithRegion("us-west-2"))
clusterOutput, err := eksSvc.DescribeCluster(&eks.DescribeClusterInput{
Name: aws.String("cluster-name"),
})
if err != nil {
panic(err)
}
fmt.Printf("%#v\n", clusterOutput)
}
在那之后,我目前不知道如何获取该集群的 kubeconfig,以便将其与 Kubernetes 的 Go 客户端一起使用,而无需单独使用 aws eks。
到目前为止,我已经检查了 AWS 文档、AWS CLI 代码库和 eksctl 代码库,但没有成功。与 EKS 集群的连接仅记录在此网页中,它使用 shell:https://aws.amazon.com/premiumsupport/knowledge-center/eks-cluster-connection/
有什么想法吗?
【问题讨论】:
标签: amazon-web-services amazon-eks aws-sdk-go