Continued in this series of, we’re covering various aspects of getting started with working with NKS on NetApp HCI. In case you missed Part 1.
In this post, we’ll be covering how to deploy an application to an existing cluster, using the curated Helm charts offered by NKS. If you don’t have a cluster up and running, see part 1 of this series where we cover deployment of an NKS cluster onto HCI.
For those with a need for speed here’s a video walkthrough.
Requirements
NKS Solutions
NKS Solutions are managed Kubernetes application templates, curated by NetApp and available via the NKS portal. Powered by Helm, NKS solutions provide a simple you powerful model for for deploying applications onto Kubernetes.
View existing Solutions
Solutions can be managed via the Cluster details pane. Click Control Plane from the NKS portal, and select the HCI cluster. On the cluster details page, scrolling down to the Solutions section, we should see the following entry.
This default Solution, included by default on new clusters, deploys Tiller, the cluster-side component used to apply application changes to the cluster on behalf of Helm.
Deploy Jenkins
Let’s use NKS Solutions to deploy Jenkins onto our cluster. Click the + Add Solution button to add a solution to the cluster. On the next page, we’ll be presented with a list of available applications. Select Trusted Charts from the left column.
Customizing the Deployment
The customization page allows us to modify our application deployments in various ways. To keep things consistent, I’ll call the release jenkins and deploy it into a jenkins namespace.
In the bottom section of the dialog, we can customize the values.yaml file from the underlying chart.
If you recall from the previous post, NKS uses NetApp Trident to expose SolidFire storage volumes to Kubernetes in the form of storage classes. Let’s see how we can leverage this by customizing Jenkins to use SolidFire storage.
In the values pane, scroll down to the Persistence section. Within this section, uncomment the
StorageClass line and set it to solidfire-silver.
Trident in Action
On the cluster dashboard, navigate to the new jenkins namespace. Helm has deployed a number of items for Jenkins, including a deployment and pod to run the jenkins service.
Navigate to the pod info, and take note of the node it’s running on.
Element Volume
Navigating back to the HCI vCenter console, open the NetApp Element Management plugin and select the volumes tab. We can see that Trident has automatically created a new volume for Jenkins.
Datastore / Virtual Disk
If we look at the details of the host running the Jenkins pod, we can see a new virtual disk has been mounted, backed by the SolidFire volume:
Behind the scenes, NKS and Trident has configured all of this automatically – all we needed to do was select a storage class. Pretty neat!
Accessing the Jenkins Endpoint
Now we’re ready to access Jenkins. Open the Kubernetes dashboard, and take a look at the Services in th jenkins namespace. Take note of the URL in the external endpoints column.
Navigating to that URL, we are presented with the Jenkins login page.
Conclusion
In this post, we introduced using NKS Solutions to quickly get Jenkins up and running on our Kubernetes cluster. We also took a closer look into how we can leverage Trident storage classes to easily expose SolidFire storage to containerized workloads.
In the next post, we’ll be configuring Jenkins, building a pipeline, and running our first builds.