Kubernetes Storage on vSphere 101 – Failure Scenarios

We have looked at quite a few scenarios when Kubernetes is running on vSphere, and what that means for storage. We looked at PVs, PVC, PODs, Storage Classes, Deployments and ReplicaSets, and most recently we looked at StatefulSets. In a few of the posts we looked at some controlled failures, for example, when we deleted a Pod from a Deployment or from a StatefulSet. In this post, I wanted to look a bit closer at an uncontrolled failure, say when a node crashes. However, before getting into this in too much details, it is worth highlighting a few of the…

Kubernetes Storage on vSphere 101 – StatefulSet

In my last post we looked at creating a highly available application that used multiple Pods in Kubernetes with Deployments and ReplicaSets. However, this was only focused on Pods.  In this post, we will look at another way of creating highly available applications through the use of StatefulSets. The first question you will probably have is what is the difference between a Deployment (with ReplicaSets) and a StatefulSet. From a high level perspective, conceptually we can consider that the major difference is that a Deployment is involved in maintaining the desired number of Pods available for an application, whereas a…

Kubernetes Storage on vSphere 101 – Deployments and ReplicaSets

In my previous 101 posts on Kubernetes Storage on vSphere, we saw how to create “static” persistent volumes (PVs) by mapping an existing virtual machine disk (VMDK) directly into a persistent volume (PV) manifest YAML file. We also saw that we could dynamically instantiate PVs through the use of a StorageClass. We saw how a StorageClass can also be used to apply features of the underlying vSphere storage, such as a storage policy, to a PV and how Pods can consume both static or dynamic PVs through the use of persistent volume claims (PVCs). However in both previous exercises, we…

Kubernetes Storage on vSphere 101 – StorageClass

In the first 101 post, we talked about persistent volumes (PVs), persistent volumes claims (PVCs) and PODs (a group of one or more containers). In particular, we saw how with Kubernetes on vSphere, a persistent volume is essentially a VMDK (virtual machine disk) on a datastore. In that first post, we created a static VMDK on a vSAN datastore, then built manifest files (in our case YAML) for a PV, a persistent volume claim (PVC) and finally a Pod, and showed how to map that static preexisting VMDK directly to the Pod, so that it could be mounted. We saw…

Kubernetes Storage on vSphere 101 – The basics: PV, PVC, POD

I’ve just returned from KubeCon 2019 in Barcelona, and was surprised to see such a keen interest in how Kubernetes consumed infrastructure related resources, especially storage. Although I have been writing about a lot of Kubernetes related items recently, I wanted to put together a primer on some storage concepts that might be useful as a stepping stone or even on-boarding process to some of you who are quite new to Kubernetes. I am going to talk about this from the point of view of vSphere and vSphere storage. Thus I will try to map vSphere storage constructs such as…

My highlights from KubeCon and CloudNativeCon, Day #3, Europe 2019

Today is the final day of KubeCon/CloudNativeCon here in Barcelona. I missed the morning keynotes as I was meeting with some of our DELL Technologies colleagues based here is Barcelona. They are working on something that is very cool, and I hope I’ll be able to share more with you later this year. Anyway, once at the event, these are some of the sessions I attended. I wanted to try and catch a few presentations that were not storage orientated today, simply to get a better idea of what is happening in the broader K8s community. The first of these…

My highlights from KubeCon and CloudNativeCon, Day #2, Europe 2019

Day 2 at KubeCon/CloudNativeCon Europe 2019 started with another set of keynotes. Bryan Liles started with a theme that Kubernetes is a platform for creating platforms. Kubernetes is not an end in itself, it is not a destination but it is a means of building something for future success. This was a good way to introduce us to some of the customer keynotes that were to follow. Bryan first introduced David Xia from Spotify. David shared with us his story of how Spotify deleted not one, but two of their three Kubernetes clusters during a migration. It was a pretty…