Tanzu-Solutions-Engineering / tkg-lab

Day in the life of a TKG platform team.
140 stars 75 forks source link

TKG Lab

TKG Lab Base Diagram TKG Lab Deployment Diagram

In this lab, we will deploy Tanzu Kubernetes Grid to vSphere, AWS, or Azure. We will additionally deploy TKG packages for ingress, logging, metrics, service discovery and container registry services.

OSS Signed and Supported Packages:

Incorporates the following Tanzu SaaS products:

Leverages the following external services:

Additional OSS components not supported by VMware

Goals and Audience

The following demo is for Tanzu field team members to see how various components of Tanzu and OSS ecosystem come together to build a modern application platform. We will highlight two different roles of the platform team and the application team's devops role. This could be delivered as a presentation and demo. Or it could be extended to include having the audience actually deploy the full solution on their own using thier cloud resources. The latter would be for SE’s and likely require a full day.

What we do have is a combination of open source and proprietary components, with a bias towards providing VMware built/signed OSS components by default, with flexibility to swap components and flexible integrations.

VMware commercial products included are: TKG, TO and TMC.

3rd-party SaaS services included are: AWS S3, AWS Route 53, GCP Cloud DNS, Azure DNS, Let's Encrypt, Okta. Note: There is flexibility in deployment planning. For instance, You could swap GCP Cloud DNS with Route53. Or you could swap Okta for Google or Auth0 for OpenID Connect.

Scenario Business Context

The acme corporation is looking to grow its business by improving their customer engagement channels and quickly testing various marketing and sales campaigns. Their current business model and methods can not keep pace with this anticipated growth. They recognize that software will play a critical role in this business transformation. Their development and ops engineers have chosen microservices and Kubernetes as foundational components to their new delivery model. They have engaged as a partner to help them with their ambitious goals.

App Team

The acme fitness team has reached out the platform team requesting platform services. They have asked for:

Shortly after submitting their request, the acme fitness team received an email with the following:

DEMO: With this information, let’s go explore and make use of the platform…

Wow, that was awesome, what happened on the other side of the request for platform services? How did that all happen?

Required CLIs

Foundational Lab Setup Guides

There are are few options to setup the foundation lab setup of three clusters: management cluster, shared services cluster, and workload cluster.

  1. Step by Step Guide - Provides instructional guidance for each step, along with validation actions. This is the best option for really learning how each cluster is setup and develop experience with the enterprise packages and integrations configured for the lab.
  2. One Step Scripted Deployment - This method assumes you have done any required manual steps. There is one script that will deploy all clusters and perform integrations. It is best to use this after you have already completed the step by step guide, as any specific configuration issue you may would have been worked out in that process previously.

Acme Fitness Lab

This lab will go through our simulated experience of receiving a request from an app team for cloud resources and following the steps for both the platform team receiving the request and the app team accessing and deploying their app once the request has been fulfilled.

Platform Team Steps

1. Update Okta for Application Team Users and Group

2. Set policy on Workload Cluster and Namespace

Switch to the App Team Perspective

3. Log-in to workload cluster and setup kubeconfig

4. Get, update, and deploy Acme-fitness app

Bonus Labs

The following labs additional labs can be run on the base lab configuration.

Deploy Advanced Observability with Tanzu Observability

Deploy Kubeapps to Workload Cluster

Cluster Autoscaling

Deploy Gitlab to Shared Services Cluster

Deploy Concourse to Shared Services Cluster

Wavefront Tracing with Acme-Fitness App

Apply Image Registry Policy with TMC

Restore Backup with Velero

ArgoCD w Kustomize

Configure NSX ALB Auth with Okta LDAP