2017-06-15 51 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僅僅是因爲它的實現方式,而不是通過合同),但它是一種做法。

相關問題