When I first heard about Project Keswick at VMware Explore 2022 in San Francisco, it was immediately clear to me that this topic would certainly become a hot topic for me, both for my customers and in my home lab.
Since I have been working with infrastructure automation for some time, I really liked the zero-touch approach to provisioning hosts with services at edge locations.
The first use case for my Homelab was to monitor my PV plant and I would like to show you in this blog post how I achieved my goal.
First, let me give you a brief design overview.
On the pre-built ESXi-ISO image I installed on an NUC is the “Project Keswick” stack which contains a pre-built Kubernetes cluster (TKG).
This cluster is divided into the system layer which contains all components for the lifecycle management and the workload layer which will later run the services, containers, etc. that the edge server will provide.
The “magic” then happens via so-called YAML files that are stored on a GIT repository, via which the edge server receives its configuration and services or containers that will later run on the edge server.
Therefore, we see here for the first time an automated GitOps approach to enable repeatable and, above all, consistent deployments at edge sites.
Hands-on & Configuration
First, the future Edge Server must be booted and installed with the prepared “Project Keswick” ISO.
This step is so simple, so I didn’t document every step by screenshot now. The procedure is as follows:
- download ISO
- put the ISO on a USB stick with sufficient size
- boot the host at the edge location with this USB stick and wait.
- note the serial number.
The result looks like this:
You may have noticed that the network into which the edge host is installed must support DHCP and have the ability to communicate to the Internet.
This is because VMware Edge Cloud Orchestrator runs directly in the cloud and is offered by VMware as a SaaS service.
The further configuration takes place in this orchestrator.
When you open the Orchestrator for the first time, you are directly greeted by the Launchpad, and the steps of the further installation are well presented.
That means next we need a Git repository from which your hosts can get their state configuration.
The Git repository can either be hosted on the Internet or On-Premises, but must have a direct connection to VMware Edge Cloud Orchestrator.
Adding the GitHub repository is straightforward.
Next, the prepared host is added to the orchestrator.
The important thing here is that the manufacturer, model and serial number must match exactly what you see on the DCUI on the host. In my case here I add a virtual host.
When the host is successfully added to the orchestrator and activated, it looks like this:
And it is at this moment that the magic happens – the host starts to pull its state from the GIT repository.
This can be the host configuration itself, as well as the services that will later run on the edge host.
In my case, there are four YAML files in the repository.
With the “hostconfig.yaml” first the host is adapted to my needs.
The remaining three YAML files serve to bring the “workload” on the host. In my case, these are the metal Load Balancer with which I make the services or containers externally accessible in my network. Additionally on this host “Portainer” and a 2simpler webserver” are rolled out.
To close the bridge to Infrastructure as Code (IaC), I would like to point out that in order to update an application at a hard-to-access edge location, for example, all I have to do is modify the YAML file in my central GIT repository and VMware will do the rest automatically with Project Kewick. From my point of view a big step towards the future and well deserved.
I’m looking forward to being part of this future and to being able to move my Homelab to Infrastructure as Code and to accompany my customers in this way.
All this Configuration and the running containers were done without even touching the host!
Last but not Least
Of course, I now use exactly these steps to bring the application for monitoring my PV system to an NUC that hangs in our stairwell to display the current performance data. Therefore, I would like to briefly introduce my 3rd data center or my edge site, which is operated entirely by IaC or “Project Keswick”.
currently, I am very happy with the solution and how I was able to bring Project Kewick to a useful application in my home lab environment.
If you have any questions, comments, or other ideas that I could implement, feel free to contact me at any time or comment here on this post directly.
Please note that Project Keswick has left the project status with VMware Expore 2023 in Las Vegas and the product “VMware Edge” has been launched.