API Kubernetes Fabric8
J'utilise actuellement l'API fabric8 pour lire le contenu des POD, des services, etc.
KubernetesClient client = new DefaultKubernetesClient();
client.configMaps().withName("ConfigMapName");
Existe-t-il un moyen de récupérer le contenu de HTTPProxy à partir de httpproxies du groupe api projectcontour.io?
Merci d'avance!!!
Réponses
HTTPProxysemble être une ressource personnalisée . Kubernetes Client fournit une API typée (dans laquelle vous devez fournir des POJO pour votre ressource personnalisée) et une API sans type (manipulation de ressources personnalisées à l'aide de HashMaps bruts). Voici un exemple de la façon dont vous pouvez le faire à l'aide de 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");
}
Vous pouvez choisir l'approche qui, selon vous, correspond à vos besoins. Si vous êtes intéressé, vous pouvez probablement consulter mes blogs sur ces approches en détail:
- Gestion des ressources personnalisées Kubernetes en Java à l'aide du client Fabric8 Kubernetes: Partie 1 (sans type)
- Gestion des ressources personnalisées Kubernetes en Java à l'aide du client Fabric8 Kubernetes: partie 2 (typée)