Kubernetes Fabric8 API
Obecnie używam interfejsu API fabric8 do odczytywania zawartości POD, usług itp.
KubernetesClient client = new DefaultKubernetesClient();
client.configMaps().withName("ConfigMapName");
Czy istnieje sposób na pobranie zawartości HTTPProxy z httpproxy grupy API projectcontour.io?
Z góry dziękuję!!!
Odpowiedzi
HTTPProxywydaje się być zasobem niestandardowym . Kubernetes Client zapewnia typowany interfejs API (gdzie musisz dostarczyć POJO dla swojego niestandardowego zasobu) i beztypowy interfejs API (manipulacja niestandardowymi zasobami przy użyciu surowych HashMaps). Oto przykład, jak można to zrobić za pomocą interfejsu API bez typów:
try (KubernetesClient client = new DefaultKubernetesClient()) {
CustomResourceDefinitionContext httpProxyContext = new CustomResourceDefinitionContext.Builder()
.withGroup("projectcontour.io") // <- Group of Custom Resource
.withVersion("v1") // <- Version of Custom Resource
.withPlural("httpproxies") // <- Plural form as specified in CRD
.withScope("Namespaced") // <- Whether Custom Resource is Cluster Scoped or Namespaced
.build();
// List all HTTPProxies
Map<String, Object> httpProxyList = client.customResource(httpProxyContext).list("ns1");
// Get a specific HTTPProxy
Map<String, Object> myHttpProxy = client.customResource(httpProxyContext).get("ns1", "tls-example");
}
Możesz wybrać dowolne podejście, które Twoim zdaniem odpowiada Twoim potrzebom. Jeśli jesteś zainteresowany, możesz prawdopodobnie sprawdzić moje blogi o tych podejściach szczegółowo:
- Obsługa niestandardowych zasobów Kubernetes w języku Java przy użyciu klienta Fabric8 Kubernetes: część 1 (bez typu)
- Obsługa niestandardowych zasobów Kubernetes w języku Java za pomocą klienta Fabric8 Kubernetes: część 2 (wpisana na maszynie)