Service types and ports

Service types and ports

A pipeline in Calyptia Core can be associated with multiple ports. To list these ports, you can use the following command:

calyptia get endpoints --pipeline $PIPELINE_ID

These ports are mapped to corresponding Kubernetes services.

Kubernetes services can be of various types, as described here (opens in a new tab). In the context of Calyptia Core, you have the flexibility to configure the type of service utilized by a pipeline. The service types supported by Calyptia Core include:

  • LoadBalancer (Default)
  • NodePort
  • ClusterIP

Create a pipeline with a specific service type

When creating a pipeline, you can specify the desired service type using the following command:

calyptia create pipeline --name $PIPELINE_NAME --core-instance $CORE_INSTANCE_NAME --config-file ./config.yaml --service-type=LoadBalancer

Update the service type of an existing pipeline

To update the service type of an existing pipeline, use:

calyptia update pipeline $PIPELINE_NAME --service-type=LoadBalancer

Service types are controlled at the pipeline level. If you want to update the service type for a particular port, you'll need to update the entire pipeline's service type, which also impacts any other ports within that pipeline.

Verify the service type in Kubernetes

To check the type of service within your Kubernetes cluster, you can use:

kubectl get svc -A -o json | jq '.items[] | .metadata.name, .spec.type'