我想做Kubernetes Go客户端创建URL资源的Java等价物,而不必手动构建它。
在Go中,使用Kubernetes' client-go/rest/client.go
,它是这样的:
u := client.Post()
.Resource("pods")
.Namespace("fred")
.Name("podname")
.URL()
(注意:我不是Go程序员。)
undocumented KubernetesClient
interface中没有任何内容可以让我做同等的事情。有什么我想念的吗?
答案 0 :(得分:0)
看起来我可以这样做:
final DefaultKubernetesClient client = new DefaultKubernetesClient();
final NonNamespaceOperation<Pod, PodList, DoneablePod, PodResource<Pod, DoneablePod>> foo = client.pods().inNamespace("kube-system");
assert foo instanceof OperationSupport;
final URL url = ((OperationSupport)foo).getNamespacedUrl();
显然,从超级清晰的角度来看,这并不是很好(pods()
的返回值只是OperationSupport
,因为它的实现方式,而不是合同),但它是一种方式做到这一点。