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.



Before proceeding, you’ll need to have the kubectl command-line tool installed and. See Install Kubectl to Control a Kubernetes Cluster for details.


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.


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.

Joseph Christianson
Joseph is a Product Marketing Manager in DevOps for NetApp where he creates lively content and success stories for customers looking to become, "DevOps Ready." Prior to joining NetApp he worked in Product Management and as a Creative Marketing consultant. Outside of work, he spends his time in the Colorado sunshine as an active Scooterist.

Pin It on Pinterest