API Kubernetes Fabric8
Sep 19 2020
Tôi hiện đang sử dụng API Fabric8 để đọc nội dung của POD, Dịch vụ, v.v.
KubernetesClient client = new DefaultKubernetesClient();
client.configMaps().withName("ConfigMapName");
Có cách nào để lấy nội dung của HTTPProxy từ httpproxies của api group projectcontour.io không?
Cảm ơn trước!!!
Trả lời
1 RohanKumar Sep 20 2020 at 00:42
HTTPProxydường như là một Tài nguyên Tùy chỉnh . Kubernetes Client cung cấp API có đánh máy (nơi bạn cần cung cấp POJO cho Tài nguyên tùy chỉnh của mình) và API không đánh máy (thao tác với Tài nguyên tùy chỉnh bằng HashMap thô). Dưới đây là một ví dụ về cách bạn có thể làm điều này bằng cách sử dụng API không đánh máy:
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");
}
Bạn có thể chọn bất kỳ cách tiếp cận nào mà bạn nghĩ phù hợp với nhu cầu của mình. Nếu quan tâm, bạn có thể có thể xem chi tiết các blog của tôi về những cách tiếp cận này:
- Xử lý tài nguyên tùy chỉnh Kubernetes trong Java bằng Máy khách Fabric8 Kubernetes: Phần 1 (Không đánh máy)
- Xử lý tài nguyên tùy chỉnh Kubernetes trong Java bằng Máy khách Fabric8 Kubernetes: Phần 2 (Đã đánh máy)