java - 如何使用 Kubernetes Azure 和 AWS SDK for java 部署应用程序

标签 java azure kubernetes azure-sdk

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 做同样的事情。

我正在为 kubernetes 使用以下 java 库:

io.fabric8.kubernetes

最佳答案

我相信您可以解析部署定义的 YAML 或 JSON。例如,对于 YAML,您可以使用任何 Java 库 here

  • JvYaml # RbYaml 的 Java 端口
  • SnakeYAML # Java 5/YAML 1.1
  • YamlBeans # 与 JavaBean 之间的传输
  • JYaml # 原始 Java 实现
  • Camel # Java 的 YAML 1.2。用户友好的 OOP 库。

Jackson JSON 似乎更受欢迎,它还支持 YAML 扩展。

然后,一旦解析名称,例如创建服务:

Service myservice = client.services().inNamespace(parsedNamespaceStr).createNew()
                     .withNewMetadata()
                       .withName(parsedServiceName)
                       .addToLabels(parsedLabel1, parseLabel2)
                     .endMetadata()
                     .done();

关于java - 如何使用 Kubernetes Azure 和 AWS SDK for java 部署应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52637347/

相关文章:

java - 如何在同一个 JVM 上以不同的配置多次启动 servlet

kubernetes - 无法使用kubeadm初始化单个kubernetes集群

azure - 如何查询 cosmos db 中的某些文档、更改其属性并将其保存回来

docker - Kubernetes 部署、Pod 和容器概念

typescript - Pulumi 在运行时获取 kubernetes 上下文

java - 为什么使用 i*i < n 的 isPrime 为除 2^31- 1 之外的每个 int 返回正确答案

java - 提取结果集时是否应该使用新的流 lambda?

java - 调用 servlet 后的不同 url

wcf - 我得到 For TransferMode.Buffered, MaxReceivedMessageSize 和 MaxBufferSize 必须是相同的值

Azure Front Door - 在线更改的时间