Upgrading NSX ALB in a TKG Environment
For quite a long time, the highest version of the NSX ALB TKG supported was 20.1.6/20.1.3, although 21.1.x has been available for a while, and I have been wondering when TKG would support it.
In the release notes of TKG 1.5.4, I recently noticed a note that has been added regarding NSX ALB 21.1.x under the Configuration variables section:
AVI_CONTROLLER_VERSION sets the NSX Advanced Load Balancer (ALB) version for NSX ALB v21.1.x deployments in Tanzu Kubernetes Grid.
Customizing Elasticsearch indices using Fluent-Bit in TKG
Fluent-Bit is currently the preferred option for log shipping in TKG and is provided out of the box as a Tanzu package that can be easily deployed on each TKG/Kubernetes cluster.
A recent implementation required shipping all Kubernetes logs to Elasticsearch, complying with a specific naming convention for the Elasticsearch indices.
Applying such customizations requires you to utilize the Lua filter. Using the Lua filter, you can modify incoming records by invoking custom scripts to apply your logic when processing the records.
Continue readingGetting Harbor to trust your LDAPS certificate in TKG
In a recent TKG implementation, it was required to configure Harbor with LDAPS rather than LDAP.
I deployed the Harbor package on the TKG shared services cluster and configured LDAP. However, when testing the connection, I received an error message that was not informative at all:
Failed to verify LDAP server with error: error: ldap server network timeout.
Although the error message doesn’t explicitly say there’s a certificate issue and there is nothing in the harbor-core container logs, it immediately made sense to me that the harbor-core container didn’t trust my LDAPS/CA certificate, so I started investigating how the certificate could be injected somehow into Harbor. The Harbor package doesn’t have any input for the LDAPS/CA certificate in its data values file, so I knew I had to create my own YTT overlay.
Getting kapp-controller to trust your CA certificates in TKG
Have you ever had to deploy a package using kapp-controller from your Harbor private registry?
I recently deployed the Tanzu RabbitMQ package to a TKGm workload cluster in an air-gapped/internet-restricted environment.
Doing so in air-gapped environments requires you to push the packages into Harbor, then have kapp-controller deploy the package from Harbor.
After adding the PackageRepository referencing my Harbor registry, I observed it couldn’t complete reconciling due to a certificate issue.
Continue readingIs your TKG cluster name too long, or is it your DHCP Server…?
Recently, when working on a TKGm implementation project, I initially ran into an issue that seemed very odd, as I hadn’t encountered such behavior in any other implementation before.
The issue was that a workload cluster deployment hung after deploying the first control plane node. Until then, everything seemed just fine; as the cluster deployment had successfully initialized, NSX ALB had successfully allocated a control plane VIP. After that, however, the deployment had completely hung and seemed like it wouldn’t proceed.
Continue readingKubernetes Data Protection: Getting Started with Kasten (K10)
In a recent Kubernetes project I was involved in, our team had to conduct an in-depth proof of concept for several Kubernetes data protection solutions. The main highlights of the PoC covered data protection for stateful applications and databases, disaster recovery, and application mobility, including relocating applications across Kubernetes clusters and even different types of Kubernetes clusters (for example, from TKG on-premise to AWS EKS, etc.).
One of the solutions we evaluated was Kasten (K10), a data management platform for Kubernetes, which is now a part of Veeam. The implementation of Kasten was one of the smoothest we have ever experienced in terms of ease of use, stability, and general clarity around getting things done, as everything is very well documented, which certainly cannot be taken for granted these days. :)
Continue readingProduction-Grade Multi-Cluster TAP Installation Guide
- Introduction
- Prerequisites
- Prepare your Workstation
- Relocate TAP Images to your Private Registry
- Install TAP
- View Cluster
- Set up the Installation Namespace
- Issue a TLS Certificate for TAP GUI
- Set up a Database for TAP GUI
- Set up the TAP GUI Catalog Git Repository
- Set up RBAC for the Metadata Store
- Set up an Authentication Provider for TAP GUI
- Set up RBAC for the Build, Run and Iterate Clusters
- Set an Ingress Domain, TAP GUI Hostname and CA Certificate
- Deploy the TAP Package
- Build Cluster
- Run Cluster
- Iterate Cluster
- View Cluster
- Wrap Up
Introduction
Since my previous posts on TAP Overview and Backstage, I have been diving deeper into TAP, trying to establish the practices around it.
Continue reading







