public void runKubernetes() {
    KubernetesCluster k8sCluster = this.getKubernetesCluster("xyz-aks");
    System.out.println("___________________________________________");
    System.out.println("Kubernetes Cluster String: " + k8sCluster.name());

    DefaultKubernetesClient kubeclient = new DefaultKubernetesClient();
    System.out.println("Kube client Master URL :"+kubeclient.getMasterUrl());

    NodeList kubenodes = kubeclient.nodes().list();
    for (Node node : kubenodes.getItems()) {
        System.out.println( node.getKind() + " => " + node.getMetadata().getName() +": " + node.getMetadata().getClusterName());
    }
}

मुझे क्लाइंट और नोड्स मिलते हैं। अब, मेरे पास yaml फ़ाइल है और मैं प्रोग्राम के रूप में उस yaml (सेवा, परिनियोजन और पॉड्स बनाएँ) को परिनियोजित करना चाहता हूँ।

मैं निम्नलिखित कर सकता हूँ

kubectl create -f pod-sample.yaml 

लेकिन मैं जावा एसडीके का उपयोग करके वही काम करना चाहता हूं।

मैं Kubernetes के लिए निम्नलिखित जावा पुस्तकालयों का उपयोग कर रहा हूँ:

io.fabric8.kubernetes
1
shraddha 4 अक्टूबर 2018, 03:29

1 उत्तर

सबसे बढ़िया उत्तर

मेरा मानना ​​​​है कि आप तैनाती परिभाषा के वाईएएमएल या जेएसओएन को पार्स कर सकते हैं। उदाहरण के लिए, YAML के लिए आप यहां किसी भी जावा लाइब्रेरी का उपयोग कर सकते हैं

  • JvYaml # RbYaml का जावा पोर्ट
  • SnakeYAML # Java 5 / YAML 1.1
  • YamlBeans # To/JavaBeans से
  • JYaml # मूल जावा कार्यान्वयन
  • जावा के लिए Camel # YAML 1.2। एक उपयोगकर्ता के अनुकूल OOP पुस्तकालय।

जैक्सन JSON के लिए अधिक लोकप्रिय प्रतीत होता है जो YAML एक्सटेंशन का भी समर्थन करता है।

फिर एक बार जब आप नाम कहें, उदाहरण के लिए एक सेवा बनाने के लिए:

Service myservice = client.services().inNamespace(parsedNamespaceStr).createNew()
                     .withNewMetadata()
                       .withName(parsedServiceName)
                       .addToLabels(parsedLabel1, parseLabel2)
                     .endMetadata()
                     .done();
2
Rico 4 अक्टूबर 2018, 02:06