use of io.kubernetes.client.openapi.models.V1Service in project java by kubernetes-client.
the class CoreV1Api method readNamespacedServiceWithHttpInfo.
/**
* read the specified Service
*
* @param name name of the Service (required)
* @param namespace object name and auth scope, such as for teams and projects (required)
* @param pretty If 'true', then the output is pretty printed. (optional)
* @return ApiResponse<V1Service>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
* response body
* @http.response.details
* <table summary="Response Details" border="1">
* <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
* <tr><td> 200 </td><td> OK </td><td> - </td></tr>
* <tr><td> 401 </td><td> Unauthorized </td><td> - </td></tr>
* </table>
*/
public ApiResponse<V1Service> readNamespacedServiceWithHttpInfo(String name, String namespace, String pretty) throws ApiException {
okhttp3.Call localVarCall = readNamespacedServiceValidateBeforeCall(name, namespace, pretty, null);
Type localVarReturnType = new TypeToken<V1Service>() {
}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
use of io.kubernetes.client.openapi.models.V1Service in project twister2 by DSC-SPIDAL.
the class JobMasterRequestObject method createJobMasterHeadlessServiceObject.
/**
* create headless service for job master
*/
public static V1Service createJobMasterHeadlessServiceObject() {
String serviceName = KubernetesUtils.createJobMasterServiceName(jobID);
V1Service service = new V1Service();
service.setKind("Service");
service.setApiVersion("v1");
// set labels for the jm service
HashMap<String, String> labels = KubernetesUtils.createJobLabels(jobID);
// construct and set metadata
V1ObjectMeta meta = new V1ObjectMeta();
meta.setName(serviceName);
meta.setLabels(labels);
service.setMetadata(meta);
// construct and set service spec
V1ServiceSpec serviceSpec = new V1ServiceSpec();
serviceSpec.setClusterIP("None");
// set selector
HashMap<String, String> selectors = new HashMap<String, String>();
selectors.put("t2-mp", jobID);
serviceSpec.setSelector(selectors);
service.setSpec(serviceSpec);
return service;
}
use of io.kubernetes.client.openapi.models.V1Service in project twister2 by DSC-SPIDAL.
the class JobMasterRequestObject method createJobMasterServiceObject.
/**
* create regular service for job master
*/
public static V1Service createJobMasterServiceObject() {
String serviceName = KubernetesUtils.createJobMasterServiceName(jobID);
V1Service service = new V1Service();
service.setKind("Service");
service.setApiVersion("v1");
// set labels for the jm service
HashMap<String, String> labels = KubernetesUtils.createJobLabels(jobID);
// construct and set metadata
V1ObjectMeta meta = new V1ObjectMeta();
meta.setName(serviceName);
meta.setLabels(labels);
service.setMetadata(meta);
// construct and set service spec
V1ServiceSpec serviceSpec = new V1ServiceSpec();
// set selector
HashMap<String, String> selectors = new HashMap<String, String>();
selectors.put("t2-mp", jobID);
serviceSpec.setSelector(selectors);
// set port
V1ServicePort servicePort = new V1ServicePort();
servicePort.setName("job-master-port");
servicePort.setPort(JobMasterContext.jobMasterPort(config));
servicePort.setTargetPort(new IntOrString(JobMasterContext.jobMasterPort(config)));
servicePort.setProtocol("TCP");
serviceSpec.setPorts(Arrays.asList(servicePort));
service.setSpec(serviceSpec);
return service;
}
use of io.kubernetes.client.openapi.models.V1Service in project twister2 by DSC-SPIDAL.
the class KubernetesLauncher method initServices.
private boolean initServices(String jobID) {
String workersServiceName = KubernetesUtils.createServiceName(jobID);
String jobMasterServiceName = KubernetesUtils.createJobMasterServiceName(jobID);
// if NodePort service is requested start one,
// otherwise start a headless service
V1Service serviceForWorkers = null;
if (KubernetesContext.nodePortServiceRequested(config)) {
serviceForWorkers = RequestObjectBuilder.createNodePortServiceObject();
} else {
serviceForWorkers = RequestObjectBuilder.createJobServiceObject();
}
boolean serviceCreated = controller.createService(serviceForWorkers);
if (serviceCreated) {
jobSubmissionStatus.setServiceForWorkersCreated(true);
} else {
LOG.severe("Following service could not be created: " + workersServiceName + "\n++++++++++++++++++ Aborting submission ++++++++++++++++++");
return false;
}
// if Job Master runs as a separate pod, initialize a service for that
if (!JobMasterContext.jobMasterRunsInClient(config)) {
V1Service serviceForJobMaster = JobMasterRequestObject.createJobMasterHeadlessServiceObject();
// V1Service serviceForJobMaster = JobMasterRequestObject.createJobMasterServiceObject();
serviceCreated = controller.createService(serviceForJobMaster);
if (serviceCreated) {
jobSubmissionStatus.setServiceForJobMasterCreated(true);
} else {
LOG.severe("Following service could not be created: " + jobMasterServiceName + "\n++++++++++++++++++ Aborting submission ++++++++++++++++++");
return false;
}
}
return true;
}
use of io.kubernetes.client.openapi.models.V1Service in project twister2 by DSC-SPIDAL.
the class RequestObjectBuilder method createHeadlessServiceObject.
public static V1Service createHeadlessServiceObject(String serviceName) {
V1Service service = new V1Service();
service.setKind("Service");
service.setApiVersion("v1");
// set labels for the worker services
HashMap<String, String> labels = KubernetesUtils.createJobLabels(jobID);
// construct and set metadata
V1ObjectMeta meta = new V1ObjectMeta();
meta.setName(serviceName);
meta.setLabels(labels);
service.setMetadata(meta);
// construct and set service spec
V1ServiceSpec serviceSpec = new V1ServiceSpec();
// ClusterIP needs to be None for headless service
serviceSpec.setClusterIP("None");
// set selector
HashMap<String, String> selectors = new HashMap<String, String>();
selectors.put("t2-wp", jobID);
serviceSpec.setSelector(selectors);
service.setSpec(serviceSpec);
return service;
}
Aggregations