Accessing Ververica Platform

There are multiple ways to access Ververica Platform depending on your environment.

Testing and Initial Setup

During testing and initial setup, the easiest approach is to use the port forwarding support built into Kubernetes. For example, if you have deployed Ververica Platform using Helm with release name vvp into Kubernetes namespace my-namespace, you can use this command to forward the Ververica Platform REST API and Web User Interface locally on port 8080:

$ kubectl -n my-namespace port-forward service/vvp-ververica-platform 8080:80

Production Environment

In a production environment it is recommended to use a Kubernetes Ingress or Service to access Ververica Platform. The Helm chart creates a Service called <release-name>-ververica-platform, which can be accessed directly or referenced from an Ingress.

Examples

A LoadBalancer Service that exposes Ververica Platform using the release name and Kubernetes namespace above:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
 apiVersion: v1
 kind: Service
 metadata:
   name: my-service
   namespace: my-namespace
 spec:
   type: LoadBalancer
   ports:
   - name: appmanager
     port: 80
     targetPort: 8080
   selector:
     app: vvp-ververica-platform
     component: appmanager

An Nginx Ingress configured to serve Ververica Platform from an internal domain:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
 apiVersion: extensions/v1beta1
 kind: Ingress
 metadata:
   annotations:
     kubernetes.io/ingress.class: nginx
   name: my-ingress
   namespace: my-namespace
 spec:
   rules:
   - host: ververica-platform.internal
     http:
       paths:
       - backend:
           serviceName: vvp-ververica-platform
           servicePort: 80
         path: /

If you set a context path i.e. a subpath instead of /, then remember to modify the path appropriately in the Ingress configuration. It must match the context path.

Accessing VVP UI from a Subpath

You might want to make the Ververica Platform UI accessible from a subpath rather than the root path. To do so, set the context path using Spring Boot configurations.

  1. Using topLevelConfig in your YAML configuration:
1
2
3
4
 topLevelConfig:
   server:
     servlet:
       contextPath: /vvp
  1. Using an environment variable:
1
2
3
 env:
   - name: SERVER_SERVLET_CONTEXT_PATH
     value: /vvp

After setting the context path, when you deploy Ververica Platform the UI is accessed from the specified subpath.

The subpath has the format http://localhost:port-number/<context-path>/app, for example:

http://localhost:8080/vvp/app