Use the Kubernetes destination task to deploy application components to your Kubernetes cluster. It’s important to note that a deployment pipeline can have only one Kubernetes destination task. Before you add the Kubernetes destination, make sure you've created a Kubernetes connection.
Click the Deploy tab. Clickto create a new deployment pipeline or click Edit on an existing pipeline.
Add a Kubernetes destination task or click and existing Kubernetes task. Complete the following steps to configure your setup. When you’re done, click Save to close the modal.
Add a Persistent Volume
Managing Persistent Volume Claims in ShuttleOps is a simple way to setup shared data mounts among your pods. Persistent volumes allow you to persist pod data and storage after the pod is deleted. To add a Persistent Volume, click on Add New in the Resources section, then click Persistent Volume. When you're done, click Save to continue.
Note: Once setup, the configured Persistent Volume can be referenced from the container configuration section - see below for details.
Configure the Persistent Volume
Name Specify a name for the persistent volume.
Storage Class Select a storage class that has been preconfigured in the Kubernetes cluster.
Match Labels Add a match label to filter the set of volumes. This step is optional.
Storage Access Mode Specify the mode of storage access for this persistent volume. This field defaults to ReadWriteOnce.
Storage Size Specify a storage size for the persistent volume using Mi for megabytes, Gi for gigabytes or Ti for terrabytes, for example, 10Gi would be an acceptable input for 10 gigabytes of persistent volume storage.
Add a Configuration Map
Use the ConfigMap section to store configuration for use within your deployment pipeline. These fields accept key-value pairs as their values. Clickin the Add ConfigMap section to add a new configuration map or click Edit on an existing one. When you’re done, click Save to close the modal.
The window will update to display the first few entries.
Add Ingress
Ingress exposes HTTP and HTTPS routes from outside the cluster to services within the cluster. Traffic routing is controlled by rules defined on the Ingress resource. To add an Ingress rule, click on Add New in the Resources section, then click Ingress. When you're done, click Save to continue.
Configure the Ingress
General Section
Class Name Specify a class name of the controller to use.
Name Specify a name for this Ingress instance.
Annotations Where necessary, specify the key value pairs required by your Ingress controller.
Hosts Section
Host Name Specify a name for the host that traffic routed from.
Path Specify the path of the host, the name of the service and the access port for the service.
Pod Template
Use the Pod Template section to specify a Kubernetes deployment. ShuttleOps provides default values where appropriate. Clickin the Add New Pod Template section to create a new Pod template or click Edit on an existing one. When you’re done, click Save to close the modal.
Configure the Pod
General Settings
Images Select the images to deploy. All images will be deployed to the same pod.
Name Set a name for the pod.
Namespace Specify the Namespace for the deployment.
Replicas Specify the number of replicas.
Strategy Select between Rolling or Recreate deployment strategies.
Advanced Settings
Rolling Update Max Unavailable Set the maximum number of unavailable pods during the deployment update. This can be an absolute number or percentage of the replicas count; the default is 25%.
Rolling Update Max Surge Set the maximum of pods that can be created over the desired number of pods. This can be an absolute number or a percentage of the replicas count; the default is 25%.
Terminal Grace Period (Seconds) Enter a terminal server grace period.
Node Selector (Key) Enter the node selector key.
Node Selector (Value) Enter a node selector value.
Configure the Service
Name Provide a name for the service.
Type Select a Service Type. Select between ClusterIP, NodePort or LoadBalancer types. The default is ClusterIP.
Ports Where needed, add a Service Port. If no Service Port is added, then no Service will be created.
When you’re done, click Save to close the modal.
Manage the Container Configuration
ShuttleOps lets your easily manage your general and advanced container configurations from the Pod Settings modal. To access the container configuration section, click on the image name on the left. Enter your container configurations and when you're done, click Save to continue.
General Section
Image Displays the name of the image.
Container Name Specify a container name.
Image Pull Policy Set a rule for how the image is pulled from the container registry.
Config Map Key Refs Add a key reference specified in the config map that will be used for this container.
Volumes Add a claim to a preconfigured persistent volume to mount to this container.