Kubernetes Plugin Details
Plugin Version: 1.0
Last Update on: February 27, 2020
Last Update on: February 27, 2020
Overview
Kubernetes (commonly stylized a K8s) is an open-source container-orchestration system for automating application deployment, scaling, and management. It was originally designed by Google, and is now maintained by the Cloud Native Computing Foundation. It aims to provide a “platform for automating deployment, scaling, and operations of application containers across clusters of hosts”. It works with a range of container tools, including Docker. Many cloud services offer a Kubernetes-based platform or infrastructure as a service (PaaS or IaaS) on which Kubernetes can be deployed as a platform-providing service. Many vendors also provide their own branded Kubernetes distributions.
This plug-in has been designed to manage Kubernetes Cluster from Kovair DevOps platform.
This plug-in has been designed to manage Kubernetes Cluster from Kovair DevOps platform.
Kubernetes Information:
More information can be found at Kubernetes
Version Supported:
This plugin was developed and tested against Kubernetes v.1.17
Plugin Operations:
- DeployFile
Input parameter(s):
Parameter | Is Mandatory | Help Text |
File Name | true | Provide the name of the file to be created along with file extension. For Kubernetes, it makes sense to deploy a JSON or a YAML file. |
Deployment Location | true | Provide the location in the system where Agent Service is running and where the file will be deployed, this should start from Linux file system root (/). Please ensure necessary privileges of the user account in the provided path through which the Agent Service is running. |
File Content | true | Provide the content of the file here. |
Note: This operation has been provided to assist in file deployment in Kubernetes Master using basic Linux command. All the parameters are required for this operation.
Output parameter(s):
Parameter | Help Text |
Status | Status of file deployment operation. |
DeployedAt | Location where file has been deployed. Value in this output parameter will be obtained only when deployment has been successful. |
- DeleteFile
Input parameter(s):
Parameter | Is Mandatory | Help Text |
File Path | true | Provide the complete path of the file starting from Linux file system root(/) with file extension.Please ensure necessary privileges of the user account in the provided path through which the Agent Service is running. |
Output parameter(s):
Parameter | Help Text |
Status | Status of file delete operation. |
- CreateNamespace
Input parameter(s):
Parameter | Is Mandatory | Help Text |
Namespace Name | false | Provide the name of the namespace to be created in the cluster. Ensure following Kubernetes’s naming convention. |
File Path | false | Provide the path of JSON/YAML file based on which new namespace will be created. The JSON/YAML file should be physically present in the system where command will be run. |
Note: End user need to provide value for either ‘Namespace Name’ or ‘File Path’. If ‘Namespace Name’ is provided, then Namespace will be created based on the supplied value; if ‘File Path’ is provided, the Namespace will be created based on the template file whose path is provided. If both are provided, then ‘File Path’ parameter value will be considered.
Output parameter(s):
Parameter | Help Text |
Status | Status of namespace create operation. |
OutputLog | Output log of the operation. |
- CreateJob
Input parameter(s):
Parameter | Is Mandatory | Help Text |
Job Name | false | Provide the name of the job to be created.Ensure following Kubernetes’s naming convention. |
Image Name | false | Provide the name of the Image to be used in job creation. |
File Path | false | Provide the path of the JSON/YAML file in which the job is defined.Please ensure necessary privileges of the user account in the provided path through which the Agent Service is running. |
Output parameter(s):
Parameter | Help Text |
Status | Status of job creation operation. |
OutputLog | Output log of the operation. |
- CheckJobStatus
Input parameter(s):
Parameter | Is Mandatory | Help Text |
Job Name | true | Provide the name of the job whose status is to be checked. |
Output parameter(s):
Parameter | Help Text |
Status | Status of the operation. |
OutputLog | Output log of the operation. |
- DeleteJob
Input parameter(s):
Parameter | Is Mandatory | Help Text |
Job Name | true | Provide the name of the job which is to be deleted. |
Output parameter(s):
Parameter | Help Text |
Status | Status of job delete operation. |
OutputLog | Output log of the operation. |
- CreateDeployment
Input parameter(s):
Parameter | Is Mandatory | Help Text |
Deployment Name | false | Provide the name of the deployment to be created. |
Image Name | false | Provide the name of the image to be used while creating the deployment. |
Other Optional Parameters | false | Provide other optional flags for creating a deployment. e.g.: Replicas / Environment Variables / Port etc. maintaining proper syntax. |
File Path | false | Provide the path of JSON/YAML file based on which new deployment will be created. Please ensure necessary privileges of the user account in the provided path through which the Agent Service is running. |
Note: End user need to provide value for either ‘Deployment Name’ and ‘Image Name’ together or ‘File Path’ alone. If ‘Deployment Name’ and ‘Image Name’ are provided, then Deployment will be created based on the supplied values; if ‘File Path’ is provided, then Deployment will be created based on the template file whose path is provided. The parameter ‘Other Optional Parametes’ may be kept blank and if value is provided for it, then it will be considered only if user provides values for ‘Deployment Name’ and ‘Image Name’. However, if user provides values for ‘Deployment Name’, ‘Image Name’ as well as for ‘File Path’, then ‘File Path’ value will not be considered and deployment will be made based on values of ‘Deployment Name’ and ‘Image Name’ and ‘Other Optional Parameters’ (if present).
Output parameter(s):
Parameter | Help Text |
Status | Status of deployment operation. |
OutputLog | Output log of the operation. |
- ExecuteGenericCommand
Input parameter(s):
Parameter | Is Mandatory | Help Text |
Command | true | Provide the command here. |
Output parameter(s):
Parameter | Help Text |
Status | Status of the execution of command. |
OutputLog | Output log of the operation. |
Pass/Fail Conditions:
Status | Condition | Method |
Passed | If ‘OutputLog’ is empty. | DeployFile / DeleteFile |
Failed | If ‘OutputLog’ is not empty. | DeployFile / DeleteFile |
Passed | If ‘OutputLog’ contains the word ‘created’. | CreateNamespace / CreateJob / CreateDeployment |
Failed | If ‘OutputLog’ does not contain the word ‘created’. | CreateNamespace / CreateJob / CreateDeployment |
Passed | If ‘OutputLog’ contains the word ‘deleted’. | DeleteJob |
Failed | If ‘OutputLog’ does not contain the word ‘deleted’. | DeleteJob |
Passed | If ‘OutputLog’ does not contain the word ‘not found’. | CheckJobStatus |
Failed | If ‘OutputLog’ contains the word ‘not found’. | CheckJobStatus |
Passed | If ‘OutputLog’ does not contain the word ‘error’. | ExecuteGenericCommand |
Failed | If ‘OutputLog’ contains the word ‘error’. | ExecuteGenericCommand |
Limitations:
- This plugin will work in Linux environment.
- Kubernetes API Server & Kubernetes Command Line Interface (kubectl) must be installed in the Kubernetes Cluster.
- The functionality solely depends on Kubernetes Command Line Interface, if the command behaviour changes the result may vary.
Release Details:
Kubernetes: 1.0
Initial version with basic functionalities.
Initial version with basic functionalities.