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(创建服务,部署和Pod)。
我可以关注
kubectl create -f pod-sample.yaml
但是我想使用JAVA SDK做同样的事情。
我将以下Java库用于kubernetes:
io.fabric8.kubernetes
答案 0 :(得分:2)
我相信您可以解析部署定义的YAML或JSON。例如,对于YAML,您可以使用任何Java库here
Jackson对于JSON似乎更受欢迎,它还支持YAML扩展。
然后在解析后说出名称,例如创建服务:
Service myservice = client.services().inNamespace(parsedNamespaceStr).createNew()
.withNewMetadata()
.withName(parsedServiceName)
.addToLabels(parsedLabel1, parseLabel2)
.endMetadata()
.done();