我尝试在 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 正常工作?
将 io.kubernetes 版本从 20.x.x 更改为 15.0.1 解决了该问题。