API de Kubernetes Fabric8
Sep 19 2020
Actualmente utilizo la API fabric8 para leer el contenido de POD, servicios, etc.
KubernetesClient client = new DefaultKubernetesClient();
client.configMaps().withName("ConfigMapName");
¿Hay alguna manera de recuperar el contenido de HTTPProxy de httpproxies del grupo api projectcontour.io?
¡¡¡Gracias por adelantado!!!
Respuestas
1 RohanKumar Sep 20 2020 at 00:42
HTTPProxyparece ser un recurso personalizado . Kubernetes Client proporciona una API con tipo (donde debe proporcionar POJO para su recurso personalizado) y una API sin tipo (manipulación de recursos personalizados mediante HashMaps sin procesar). Aquí hay un ejemplo de cómo puede hacer esto usando la 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");
}
Puede elegir el enfoque que crea que se adapta a sus necesidades. Si está interesado, probablemente pueda consultar mis blogs sobre estos enfoques en detalle:
- Manejo de recursos personalizados de Kubernetes en Java con Fabric8 Kubernetes Client: Part-1 (Typeless)
- Manejo de recursos personalizados de Kubernetes en Java con Fabric8 Kubernetes Client: Part-2 (Typed)