Predictive Auto-scaling of vSphere VMs and Container Services – The Plumbing (2 of 2)

In the previous post, I wrote the function to scale a K8s deployment with a REST API call. In this post, I’ll write the other function required to codify the scaling of a K8s cluster across physical resources.

The function here will power on a K8s node VM that resides on an ESXi host and make itself available to the K8s cluster for additional compute. I will use the vSphere REST API and then combine it with the previous function to complete the scale out operation. Continue reading

Predictive Auto-scaling of vSphere VMs and Container Services – The Plumbing (1 of 2)

Photo by chuttersnap on UnsplashTo be pragmatic with this exercise, I’ll begin with a focus on the plumbing required to scale both components in parallel.. I’ll follow up in another post with predictive automation based on some primitive analytics.

As discussed in the first post of this series, I intend to rely on APIs exposed by VMware and the Kubernetes/Docker distributions to enable predictive orchestration of scaling. For my proof of concept, I will focus on scale-out and scale-in use cases. Scale-up and down will be excluded. Continue reading

Installing a VM Backed K8s 1.10 Cluster with Kubeadm

This post is the second, in a series that will consider the topic of predictive auto-scaling of vSphere VMs and containerized services. The purpose of this post is to describe how to build the first components with the installation and configuration of Docker and Kubernetes on VMs. I will be using Docker 1.13, Kubernetes 1.10, and CentOS 7 x64 for the implementation.

You will need either a vSphere environment or VMware Workstation/Fusion, CentOS install media, and an internet connection. There are a handful of ways to implement a test-bed Kubernetes cluster. Running on a cloud provider CaaS platform, orchestrating as a Docker-in-Docker deployment, building manually from scratch, or building with a helper tool from scratch. Continue reading

Predictive Auto-scaling of vSPhere VMs and Container Services

Photo by Samuel Zeller on Unsplash

Reactive and predictive auto-scaling have existed for some time already. Predictive auto-scaling has been custom developed and leveraged by large service providers for almost a decade.

To define a few terms: Scaling is the process of adjusting resources to satisfactorily serve demand. Auto-scaling is replacing manual process with automated IT processes that react to current-state metrics. Predictive auto-scaling relies on observed metrics, over time, to predict an upcoming change in demand and auto-scale ahead of actual demand. This is advantageous because the resources required to scale will not contend with the services demanding more. Continue reading

Containers, VMs, and VMware – VMware PKS

This has been in my drafts folder for three months now. I figure it’s time to get back to it.

Previous posts have delved into the benefits of leveraging virtualization to provide automation, elasticity, governance, and ‘day 2’ management to a container-centric DevOps architecture. For VMware, VIC has become the platform for repackaged applications. There isn’t much focus on orchestration with VIC. There is some, but it’s proprietary to vSphere. That’s not to say it’s inferior to a more widely adopted K8s model, it’s just purpose oriented. Continue reading

Containers, VMs, and VMware – Containers in Virtual Machines – The Best of Both Worlds

Containers in Virtual Machines – The Best of Both Worlds

My plan was to follow the previous post on Harbor with a rundown of vSphere Integrated Containers. But as I began to write, I realized just the topic of the relationship between containers and VMs was fairly lengthy. I’ve decided to cover just that in this post. In the next post, I will cover VIC. Continue reading

Containers, VMs, and VMware – Containers, DevOps, Orchestration, and Challenges

Containers, DevOps, Orchestration, and Challenges

In the first post of this series, I covered the basics of containers. In this post, I’ll cover why containers are attractive in DevOps initiatives and some of the challenges organizations face when trying to leverage them for such. This will lay the foundation for the next post, where I will cover VMware’s vision and initiatives to address these challenges. Continue reading