Nowadays, industries move towards microservice and cloud native architectures that makes use of containers to scale and deploy applications. But containers have its own challenges and adds complexity to the infrastructure to maintain especially in large dynamic environments (if you are not familiar with containers and Kubernetes don’t worry: catch up with our latest post, Containers and Workload Automation 101).
Are your applications built using containers—microservices packaged with their dependencies and configurations? And are you looking for a solution to manage and deploy these containers efficiently?
Here is the prominent tool Kubernetes or k8s for short to perform container orchestration (automating the deployment, management, scaling and availability of containers).
And what if you need to orchestrate Kubernetes jobs in a logical sequence, with jobs that depend on other job, facing some challenges to resolve this issue? Should the operations team be well versed with Kubernetes?
No apprehensions, here is the one stop solution “Kubernetes plugin” through Workload Automation.
First of all, log in to the Dynamic Workload Console and open the Workload Designer. Choose to create a new job and select “Kubernetes” job type in the Cloud section
Establishing connection to the Kubernetes cluster:
In the job definition interface, select the “Connection” tab and specify the connection parameters to reach your Kubernetes cluster
Plugin provides two options to establish a connection to the cluster.
Apart from establishing a connection to the cluster, you can also see an option to provide the “Namespace” to which the job needs to be submitted in k8’s cluster.
And surprisingly, this field is not mandatory field. So, in case the user doesn’t specify the value for “Namespace”, plugin tries to fetch the namespace already configured in the below order:
In case you selected the default cluster configuration:
So, the plugin looks for the already configured namespace, if the user has not provided any value in UI. If the namespace is not set prior, then plugin submits the k8’s job to “default” namespace.
This implementation is hiding the complexity coming from security configuration for k8s cluster. Assuming that the security configuration for the namespace granted to be used is well done, from Workload Automation perspective it is just a matter to use WA Security to grant access to use this job plugin and to monitor jobs status.
Run Kubernetes Job:
Once the connection is established to the cluster, now it’s time to submit a k8’s job to the cluster and monitor the job through Kubernetes plugin in WA without the need of switching to the cluster environment and knowing about all the commands of Kubernetes.
WA has made your job hassle-free. Now, you can submit a job to k8’s cluster with just few clicks.
There are two simpler options provided in the plugin to submit a job:
That’s all, you have submitted a job to the Kubernetes cluster through WA in no time.
Track/Monitor the Kubernetes Job:
You can also easily monitor the submitted k8’s job in WA through navigating to “Monitor Workload” page.
Select the job and click on job log option to view the logs of the Kubernetes job.
Here, you can see that the Kubernetes plugin has submitted the job to the cluster, monitored the job and cleans up the environment (Deleted the job and all the pods associated with the job).
You can see that there are few “Extra properties” provided by the plug-in which you can use these variables for the next job submission.
Thus, Kubernetes plugin in Workload Automation is a best fit for those who are looking for complete automation of the jobs connecting with remote cluster or the agent which is deployed on the cluster.
Are you curious to try out the Kubernetes plugin?
Drop us a line at firstname.lastname@example.org and become a sponsor user!
Sravani Kancherla, Technical Lead at HCL.