API Kubernetes Fabric8
Sep 19 2020
Attualmente utilizzo l'API fabric8 per leggere i contenuti di POD, servizi ecc.
KubernetesClient client = new DefaultKubernetesClient();
client.configMaps().withName("ConfigMapName");
Esiste un modo per recuperare i contenuti di HTTPProxy da htpproxies di api group projectcontour.io?
Grazie in anticipo!!!
Risposte
1 RohanKumar Sep 20 2020 at 00:42
HTTPProxysembra essere una risorsa personalizzata . Il client Kubernetes fornisce un'API tipizzata (in cui è necessario fornire POJO per la risorsa personalizzata) e un'API senza tipo (manipolazione di risorse personalizzate utilizzando HashMap non elaborate). Ecco un esempio di come puoi farlo utilizzando l'API Typeless:
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");
}
Puoi scegliere l'approccio che ritieni più adatto alle tue esigenze. Se sei interessato puoi probabilmente controllare i miei blog su questi approcci in dettaglio:
- Gestione delle risorse personalizzate Kubernetes in Java utilizzando il client Kubernetes Fabric8: parte 1 (senza tipo)
- Gestione delle risorse personalizzate Kubernetes in Java utilizzando il client Kubernetes Fabric8: parte 2 (digitato)