Validating Kubernetes cluster conformance with Sonobuoy

Another product added to the VMware portfolio with the acquisition of Heptio is Sonobuoy. In a nutshell, Sonobuoy will validate the state of your Kubernetes cluster by running a suite of non-destructive tests against your cluster. As part of the end-to-end (e2e) tests that are run by Sonobuoy, there is a also a subset of conformance tests run as well. These include things like best practices and interoperability tests. This will ensure that your Kubernetes cluster (whether is an upstream version or a third-party packaged version) supports all of the necessary Kubernetes APIs. You can read more about conformance here.…

Kubernetes on vSphere 101 – Ingress

As I was researching content for the 101 series, I came across the concept of an Ingress. As I hadn’t come across it before, I wanted to do a little more research on what it actually did. It seems that in some ways, they achieve the same function as a Load Balancer in so far as they provide a mean of allowing external traffic into your cluster. But they are significantly different in how they do this. If we take the Load Balancer service type first, then for every service that is exposed via a Load Balancer, a unique external…

A first look at vRealize Network Insight for Kubernetes

Regular readers will know that I have been spending quite a bit of time recently looking at Kubernetes running on vSphere. I’ve written a number of posts on the storage side of things, which you can read here as part of my 101 series. I also posted about how you can setup vRealize Operations Manager 7.5 and add the Management Pack for Container Monitoring. This provide some really good dashboards for examining the state of your K8s clusters, as well as detailed breakdowns into K8s node VM health and performance (CPU, Memory, DIsk IO). Not only that, but you can…

Kubernetes on vSphere 101 – Services

This will be last article in the 101 series, as I think I have covered off most of the introductory storage related items at this point. One object that came up time and again during the series was services. While not specifically a storage item, it is a fundamental building block of Kubernetes applications. In the 101 series, we came across a “headless” service with the Cassandra StatefulSet demo. This was where service type ClusterIP was set to None. When we started to look at ReadWriteMany volumes, we used NFS to demonstrate these volumes in action. In the first NFS…

Kubernetes Storage on vSphere 101 – NFS revisited

In my most recent 101 post on ReadWriteMany volumes, I shared an example whereby we created an NFS server in a Pod which automatically exported a File Share. We then mounted the File Share to multiple NFS client Pods deployed in the same namespace. We saw how multiple Pods were able to write to the same ReadWriteMany volume, which was the purpose of the exercise. I received a few questions on the back on that post relating to the use of Services. In particular, could an external NFS client, even one outside of the K8s cluster, access a volume from…

Configuring vROps 7.5 Management Pack for Container Monitoring

The vROps Management Pack for Container Monitoring is something that I had been meaning to install and configure for a while now, but I just haven’t had a chance until very recently. If you didn’t know. VMware’s vRealize Operations has a Management Pack for Container Monitoring. This includes adapters for both the Pivotal Container Service (PKS) as well as Kubernetes. In my environment I had already deployed PKS which I was then using for deploying my Kubernetes clusters. I found the official documentation a little light on what exact information was required for both the PKS Adapter and the Kubernetes…

Kubernetes Storage on vSphere 101 – ReadWriteMany NFS

Over the last number of posts, we have spent a lot of time looking at persistent volumes (PVs) instantiated on some vSphere back-end block storage. These PVs were always ReadWriteOnce, meaning they could only be accessed by a single Pod at any one time.  In this post, we will take a look at how to create a ReadWriteMany volume, based on an NFS share, which can be accessed by multiple Pods. To begin, we will use an NFS server image running in a Pod, and show how to mount the exported file share to another Pod, simply to get the…