Search in sources :

Example 21 with V1Service

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);
}
Also used : Type(java.lang.reflect.Type) V1Service(io.kubernetes.client.openapi.models.V1Service)

Example 22 with V1Service

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;
}
Also used : HashMap(java.util.HashMap) V1ObjectMeta(io.kubernetes.client.openapi.models.V1ObjectMeta) V1ServiceSpec(io.kubernetes.client.openapi.models.V1ServiceSpec) V1Service(io.kubernetes.client.openapi.models.V1Service) IntOrString(io.kubernetes.client.custom.IntOrString)

Example 23 with V1Service

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;
}
Also used : V1ServicePort(io.kubernetes.client.openapi.models.V1ServicePort) HashMap(java.util.HashMap) V1ObjectMeta(io.kubernetes.client.openapi.models.V1ObjectMeta) IntOrString(io.kubernetes.client.custom.IntOrString) V1ServiceSpec(io.kubernetes.client.openapi.models.V1ServiceSpec) V1Service(io.kubernetes.client.openapi.models.V1Service) IntOrString(io.kubernetes.client.custom.IntOrString)

Example 24 with V1Service

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;
}
Also used : V1Service(io.kubernetes.client.openapi.models.V1Service)

Example 25 with V1Service

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;
}
Also used : HashMap(java.util.HashMap) V1ObjectMeta(io.kubernetes.client.openapi.models.V1ObjectMeta) V1ServiceSpec(io.kubernetes.client.openapi.models.V1ServiceSpec) V1Service(io.kubernetes.client.openapi.models.V1Service)

Aggregations

V1Service (io.kubernetes.client.openapi.models.V1Service)25 Type (java.lang.reflect.Type)16 V1ObjectMeta (io.kubernetes.client.openapi.models.V1ObjectMeta)5 V1ServiceSpec (io.kubernetes.client.openapi.models.V1ServiceSpec)5 HashMap (java.util.HashMap)4 IntOrString (io.kubernetes.client.custom.IntOrString)3 V1ServicePort (io.kubernetes.client.openapi.models.V1ServicePort)2 File (java.io.File)2 ArrayList (java.util.ArrayList)2 KubernetesType (io.kubernetes.client.common.KubernetesType)1 ApiClient (io.kubernetes.client.openapi.ApiClient)1 ApiException (io.kubernetes.client.openapi.ApiException)1 CoreV1Api (io.kubernetes.client.openapi.apis.CoreV1Api)1 V1DeleteOptions (io.kubernetes.client.openapi.models.V1DeleteOptions)1 V1Deployment (io.kubernetes.client.openapi.models.V1Deployment)1 V1Pod (io.kubernetes.client.openapi.models.V1Pod)1 V1PodBuilder (io.kubernetes.client.openapi.models.V1PodBuilder)1 V1Secret (io.kubernetes.client.openapi.models.V1Secret)1 V1ServiceBuilder (io.kubernetes.client.openapi.models.V1ServiceBuilder)1 V1StatefulSet (io.kubernetes.client.openapi.models.V1StatefulSet)1