Discover Services with Virtual Kubernetes (vK8s)

Objective

This document provides instructions on how to discover service endpoints using Volterra Virtual Kubernetes (vK8s) service information. Service discovery enables you to find the endpoints where a given service is available. To know more information about service discovery, see Volterra Service Discovery.

Using the instructions provided in this guide, you can create an endpoint for a service using the vK8s service name and the location where the service is available.


Prerequisites

  • An application deployed on Virtual Kubernetes (vK8s)

Configuration

Volterra enables you to discover endpoints deployed using Virtual Kubernetes service. This document covers service discovery on sites, virtual sites, or virtual networks using Kubernetes service information.

The following figure shows the configuration workflow for service discovery with vK8s service information:

FlowChart
Figure: Setting up Service Discovery with vk8s Service Info

Configuration Sequence

Discovering services using the vK8s service information requires performing the following sequence of actions:

Phase Description
Obtain vK8s Service Information Get vK8s service information from the Volterra Console.
Create Endpoint with vK8s Service Information Configure endpoint with K8s as the discovery type and associate sites with it.

Obtain vK8s Service Information

Step 1: Retrieve Kubernetes service or application information from vK8s in Volterra Console. Select the namespace in which the vK8s is configured. Select Applications from the configuration menu and Virtual K8s from the options pane. A list of vK8s objects is displayed.

SeleckVK8S
Figure: Select vK8s

Step 2: Click on the desired vK8s object to see display the Kubernetes objects.

VK8SObjs
Figure: vK8s Objects

Step 3: Click the Service tab to list all the Kubernetes service objects with namespace and port information. This information is used in the endpoint configuration.

VK8SSrvcObjs
Figure: vK8s Service Objects

Note: The service name is specified in the servicename.namespace format during endpoint configuration.


Create Endpoint with vK8s Service Information

Step 1: Select the desired namespace or create a namespace.

NavNS
Figure: Navigate to Namespace

Step 2: Select Manage from the configuration menu and Endpoints from the options pane. Click Add endpoint.

EPCreate
Figure: Endpoint Creation

Step 3: Enter name, labels, and description in the Name, Labels, and Description fields respectively.

AddEP
Figure: Add Endpoint

Step 4: Configure where the endpoint should be discovered. Select an appropriate option in the Virtual site or site or network field. Click Select ref.

EPSiteRefSelctor
Figure: Endpoint Site Reference Selector

Step 5: Select your reference object from the displayed object list and click Select ref.

EPSiteRefSelction
Figure: Endpoint Site Reference Selection

Note: Any reference object (site, virtual site, and virtual network) needs to be created and listed before configuring the Virtual site or site or network field. All the available object list gets displayed on a cascading menu where you can select one or more objects.

Step 6: Select a network type from the drop down list for the Network Type field. This example uses the Site Local Network as the network type.

NWType
Figure: Network Type Selection

Step 7: Configure endpoint address information.

EPAddSI
Figure: Endpoint Address Service Info Config with vK8s Discovery Type

Step 8: Enter port and protocol values for the fields Port and Protocol respectively.

EPPortProto
Figure: Endpoint Site Port and Protocol

With the steps above, you can discover a service endpoint using ‘Service Info’ on a location specified using the selector. Once the service is discovered, the object can be used with other configuration objects of Volterra platform.

EPCreated
Figure: Endpoint Created

Concepts


API References