Files for this Scenario
|7.0.2||Download from GitHub|
Kubernetes is an open-source system for deploying and managing containerized applications within a hybrid or cloud environment. Using the Embotics® vCommander® cloud management platform, you can deploy applications into Kubernetes clusters.
This guide shows you how to use vCommander 7.0+ to deploy a new application into an existing Kubernetes cluster. The requester provides input in the form of a Kubernetes manifest file. An optional approval workflow can be added to check the files before deploying.
readme.md file packaged with the Kubernetes plug-in workflow step package documents important limitations to consider when uploading your own manifest file.
This guide is intended for systems administrators, engineers and IT professionals. Previous experience with Kubernetes is required.
Before you begin, you must add a Kubernetes cluster as a managed system. You can do this in one of two ways:
- Add an existing Kubernetes cluster as a vCommander managed system. See Adding a Kubernetes Managed System in the vCommander User Guide.
- Create a new Kubernetes cluster through vCommander and have it automatically added as a vCommander managed system. To learn how, search for "Kubernetes" in this Knowledge Base and choose the article for your preferred platform for deploying Kubernetes clusters.
Install the plug-in step package
This scenario uses the Kubernetes plug-in workflow step package (
wfplugins-k8s.jar), which provides a plug-in workflow step to add the deployed Kubernetes cluster to vCommander’s inventory as a managed system. The completion workflow in this scenario references this plug-in step.
Go to Embotics GitHub / Plug-in Workflow-Steps and clone or download the repository. Then in your local version of the repo, browse to the
k8s directory, which contains the Kubernetes plug-in workflow step package.
For information on how to download and install workflow plug-in steps, see Adding plug-in workflow steps.
Import the completion workflow
Go to Embotics Git Hub / Scenarios and clone or download the repository.
In vCommander, go to Configuration > Service Request Configuration > Completion Workflows and click Import.
Go to the Scenarios repo that you cloned or downloaded, then from the
Deploy-App-on-Kubernetes-Cluster-Using-Manifestdirectory, select the
Deploy_on_K8s.yaml or .json file, and click Open.
vCommander automatically validates the workflow and displays the validation results in the Messages area of the Import Workflow dialog.
- Enter a comment about the workflow in the Description of Changes field, and click Import.
To learn more, see Importing and Exporting Workflow Definitions in the vCommander User Guide.
Configure the change request form
In vCommander, go to Configuration > Service Request Configuration, then click the Form Designer tab.
- Click Add, and in the Add Request Form dialog, for Form Name, type “Deploy K8s App”.
- From the Form Type list, select Change Request Form.
- From the Target Type list, select Managed System.
- From the Completion Workflow list, select Deploy on K8s.
- Click OK.
- From the Toolbox at the right side of the window, add the following form elements:
- Input Text Field: For Display Label, enter “Namespace”. Note: If a namespace is specified, it must already exist when the completion workflow runs. If no namespace is specified, vCommander checks the manifest file for the namespace; if the manifest doesn’t specify a namespace, the Default namespace is used. Therefore, you may want to disable the Required checkbox for this Input Text Field form element.
- File Upload: For Display Label, enter “Manifest”. Enable the Required checkbox.
- Remove unneeded form elements.
- Click Save.
Submit a change request
- In vCommander or the Service Portal, select a Kubernetes managed system and run the Request Change command.
- In the Select Change Request dialog, click Deploy K8s App.
- Complete the request form by entering a Namespace, browsing to a manifest file, and clicking OK.
The chosen application is installed on the selected Kubernetes cluster.