Search
⌃K

Install Env Sync in your Cluster

In order to use Velocity's Env Sync feature, you need to install the Velocity Image Registry in your cluster.
The following guide will walk you through the process of setting up the image registry on a cluster with the Velocity Operator installed.

Prerequisites:

  1. 1.
    Velocity Operator is installed on the cluster.
  2. 2.
    A Kubernetes storage class must be installed on the cluster.
If you are using AWS, you can follow this link to set up an EBS storage class: Adding an AWS storage class

1. Validate that a storage class is installed properly

Confirm that your targeted storage class is available in the cluster by running the following:
kubectl get storageclasses.storage.k8s.io
This command will return the available storage classes in your cluster.
Keep the name of the storage class you wish to use for the Velocity Image Registry volume.

2. Install the registry with Helm

Install Helm if not yet installed and then run the following command.
Replace the <className> with the storage class name returned in the previous step.
helm install velocity-registry velocity/velocity-registry \
-n velocity \
--set volume.storageClass=<className>
If you are using AWS and want to use the default 'ebs-sc' volume class, you may remove storageClass parameter since this is the default one specified in the Helm values.

3. Create an ingress for the registry

In order for your environments to pull images from the registry, it will need to have an ingress with TLS set up.
  1. 1.
    Create a file with your ingress definition with the following requirements:
    1. 1.
      The namespace should be velocity
    2. 2.
      The backend path velocity-registry and uses port 5000
    3. 3.
      The host is prefixed with the registry-velocity subdomain, for example: registry-velocity.aws.virondev.com.
    4. 4.
      There is a TLS configured
  2. 2.
    Use kubectl apply to create the ingress resource in your cluster.

Example for an AWS ALB Ingress Definition

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/certificate-arn: [AWS-CERTIFICATE_ARN]
name: velocity-registry
spec:
rules:
- host: registry-velocity.aws.virondev.com
http:
paths:
- backend:
service:
name: velocity-registry
port:
number: 5000
path: /
pathType: Prefix
tls:
- hosts:
- registry-velocity.aws.virondev.com

Next Steps: