无法使用 Java 中的 io.kubernetes API 创建 Kubernetes 命名空间

问题描述 投票:0回答:1

我尝试在 IntelliJ IDEA 中使用 io.kubernetes API 和 Java 17 在集群中创建 Kubernetes 命名空间。尽管没有遇到任何错误或异常,但命名空间并未成功创建。以下是相关代码片段:

V1Namespace v1Namespace = new V1Namespace();
V1ObjectMeta metadata = new V1ObjectMeta();
metadata.setName(namespace);
v1Namespace.setMetadata(metadata);
v1Namespace.setApiVersion("v1");
v1Namespace.setKind("Namespace");
api.createNamespace(v1Namespace);

但是,当我尝试使用 API 获取命名空间时,它可以正常工作:

V1Namespace v1Namespace = api.readNamespace("dev-shez").execute();

这是我的代码的配置部分:

String kubeConfigPath = "\\path\\kubeconfig";
FileReader kubeConfigFileReader = new FileReader(kubeConfigPath);
ApiClient client = ClientBuilder.kubeconfig(KubeConfig.loadKubeConfig(kubeConfigFileReader)).build();
Configuration.setDefaultApiClient(client);
CoreV1Api api = new CoreV1Api();
api.setApiClient(client);

我是否需要实现任何额外的条件或配置才能使创建 API 正常工作?

java spring kubernetes kubernetes-java-client
1个回答
0
投票

将 io.kubernetes 版本从 20.x.x 更改为 15.0.1 解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.