【发布时间】:2019-11-26 14:04:04
【问题描述】:
我正在使用 kubeadm 创建一个 kubernetes 集群。如何在特定节点上部署 pod。在用于在简单的 minikube 集群中部署 pod 的代码下方。谢谢
ApiClient client = Config.defaultClient();
Configuration.setDefaultApiClient(client);
CoreV1Api api = new CoreV1Api();
V1ObjectMeta meta = new V1ObjectMeta();
meta.name("ms2-pod");
Map<String, String> labels = new HashMap<>();
labels.put("app", "ms2-pod");
meta.labels(labels);
V1ContainerPort port = new V1ContainerPort();
port.containerPort(9090);
V1Container container = new V1Container();
container.name("ms2-container");
container.image("ms2");
container.imagePullPolicy("IfNotPresent");
container.ports(Arrays.asList(port));
V1PodSpec spec = new V1PodSpec();
spec.containers(Arrays.asList(container));
V1Pod podBody = new V1Pod();
podBody.apiVersion("v1");
podBody.kind("Pod");
podBody.metadata(meta);
podBody.spec(spec);
V1Pod pod = api.createNamespacedPod("default", podBody, null, null, null);
我们如何使用 Java 中的 K8S Client Api 在 kubeadm 集群中充分利用 kubectl 功能?
【问题讨论】:
-
为什么要让 pod 在特定节点上运行?
-
V1PodSpec 有nodeName,但我没有测试过。请让我知道这是否有效。
-
@Thomas 我想使用 k8s 管理一个平台 ;),所以有特定的 Pod 在特定节点上具有特定的行为.. 即
标签: java kubernetes kubeadm