Kubernetes Fabric8 API'si

Sep 19 2020

POD'ların, Hizmetlerin vb. İçeriklerini okumak için şu anda fabric8 API'sini kullanıyorum.

KubernetesClient client = new DefaultKubernetesClient();
client.configMaps().withName("ConfigMapName");

HTTPProxy içeriğini api group projectcontour.io'nun httpproksilerinden almanın bir yolu var mı?

Şimdiden teşekkürler!!!

Yanıtlar

1 RohanKumar Sep 20 2020 at 00:42

HTTPProxybir Özel Kaynak gibi görünüyor . Kubernetes Client, Typed API (Özel Kaynağınız için POJO sağlamanız gereken yer) ve Typeless API (ham HashMap'ler kullanarak Özel Kaynakların manipülasyonu) sağlar. Typeless API'yi kullanarak bunu nasıl yapabileceğinize dair bir örnek:

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");
}

İhtiyaçlarınıza uygun olduğunu düşündüğünüz yaklaşımı seçebilirsiniz. İlgileniyorsanız, muhtemelen bu yaklaşımlarla ilgili bloglarıma ayrıntılı olarak bakabilirsiniz:

  1. Fabric8 Kubernetes İstemcisini kullanarak Java'da Kubernetes Özel Kaynaklarını Kullanma: Bölüm-1 (Tipsiz)
  2. Fabric8 Kubernetes İstemcisini kullanarak Java'da Kubernetes Özel Kaynaklarını Yönetme: Bölüm-2 (Tipik)