#kubernetes #kubernetes-ingress #fabric8
#kubernetes #kubernetes- вход #fabric8
Вопрос:
В настоящее время я использую API fabric8 для чтения содержимого модулей, сервисов и т. Д.
KubernetesClient client = new DefaultKubernetesClient();
client.configMaps().withName("ConfigMapName");
Есть ли способ получить содержимое HttpProxy из httpproxies группы api projectcontour.io ?
Заранее спасибо!!!
Комментарии:
1. Пожалуйста, кратко изложите проблему в названии, пожалуйста.
Ответ №1:
HTTPProxy
похоже, это пользовательский ресурс. Клиент Kubernetes предоставляет типизированный API (где вам нужно предоставить POJO для вашего пользовательского ресурса) и API без типов (манипулирование пользовательскими ресурсами с использованием необработанных хэш-карт). Вот пример того, как это можно сделать с помощью API без типов:
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");
}
Вы можете выбрать любой подход, который, по вашему мнению, соответствует вашим потребностям. Если вам интересно, вы, вероятно, можете подробно ознакомиться с моими блогами об этих подходах: