如何使用JavaAPI在Kubernetes中创建作业

如何使用JavaAPI在Kubernetes中创建作业,kubernetes,kubectl,azure-aks,Kubernetes,Kubectl,Azure Aks,我能够使用CLI()在Kubernetes群集中创建作业 有没有办法使用Java API在集群内创建作业?您可以使用Kubernetes Java Client创建任何对象,例如作业。参考示例 如果您想使用静态清单yaml启动作业,那么使用官方库应该很容易。 这个代码对我有用 ApiClient client = ClientBuilder.cluster().build(); //create in-cluster client Configuration.setDefaultApiClien

我能够使用CLI()在Kubernetes群集中创建作业


有没有办法使用Java API在集群内创建作业?

您可以使用Kubernetes Java Client创建任何对象,例如作业。参考示例


如果您想使用静态清单yaml启动作业,那么使用官方库应该很容易。 这个代码对我有用

ApiClient client = ClientBuilder.cluster().build(); //create in-cluster client
Configuration.setDefaultApiClient(client);
BatchV1Api api = new BatchV1Api(client);

V1Job job = new V1Job();
job = (V1Job) Yaml.load(new File("/tmp/template.yaml")); //load static yaml file
    
ApiResponse<V1Job> response = api.createNamespacedJobWithHttpInfo("default", job, "true", null, null);

fabric8是不推荐的ryt吗?是否有其他方法,或者我们可以使用kubernetes APIFARIC8,但不推荐使用。或者,您可以使用正式的kubernetes java客户端。请注意,此in-cluster客户端仅在具有适当ServiceAccount的Pod内工作,以创建作业。
ApiClient client = ClientBuilder.cluster().build(); //create in-cluster client
Configuration.setDefaultApiClient(client);
BatchV1Api api = new BatchV1Api(client);

V1Job job = new V1Job();
job = (V1Job) Yaml.load(new File("/tmp/template.yaml")); //load static yaml file
    
ApiResponse<V1Job> response = api.createNamespacedJobWithHttpInfo("default", job, "true", null, null);
// set metadata-name
job.getMetadata().setName("newName");

// set spec-template-metadata-name
job.getSpec().getTemplate().getMetadata().setName("newName");