2017-06-15 24 views
0

我想做的Kubernetes Go客户端的能力,创建一个资源的URL,而不必手动构建它的Java等价物。使用fabric8的KubernetesClient,我如何构建一个特定Kubernetes资源的URL?

在围棋,使用​​,它是这样的:

u := client.Post() 
    .Resource("pods") 
    .Namespace("fred") 
    .Name("podname") 
    .URL() 

(注:我不是那种围棋程序员)

我没有看到在undocumented KubernetesClient interface任何可能让我做同样的事情。有什么我失踪?

回答

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仅仅是因为它的实现方式,而不是通过合同),但它是一种做法。

相关问题