我已经在本地机器上配置了minikube,并打算在外部使用kubernetes。我已经在kubernetes中创建了一个服务帐户,使用它的秘密,我可以使用下面的命令获得访问令牌。
kubectl get secret <service-account-secret> -o yaml -n mynamespace
我的问题是如何在运行时使用Fabric8Java客户机实现这一点?我想要的是通过将服务帐户的秘密作为参数来获取访问令牌。
我正在启动下面的配置。
Config config = new ConfigBuilder().withMasterUrl(masterURL)
.withClientCertFile(certFile).withOauthToken(serviceAccountAccessToken).build();
我可以知道如何使用Fabric8Java客户机获取如上所述的serviceaccountaccesstoken吗?
2条答案
按热度按时间js81xvg61#
客户已经帮你做了。
如果只是创建一个空的配置对象:
或创建客户端,如:
在吊舱内,它会自动为你读取令牌。
如果您需要在其他地方传递,您可以:
或者
zzoitvuj2#
在pod中,服务帐户令牌作为卷装载
/var/run/secrets/kubernetes.io/serviceaccount/token
如图所示。路径在fabric8中硬编码(至少是v2.6.2)Client
使我相信,如果一个人仅仅忽略了withOauthToken()
那叫Client
可能只是工作™目前还不清楚您提供的代码片段是否应该在集群之外运行,但如果是这样的话,那么您在向api提供auth以便获取
Secret