Deploying a TKGI Foundation
In the last few posts, I have paved my infrastructure, which comprises a vSphere environment with NSX. The whole infrastructure is running on a single Dell PowerEdge R740 server.
In this post, Iâm going to deploy a TKGI Foundation on top of the infrastructure.
Here are the main steps in this deployment:
- Create the necessary objects in vSphere
- Create the necessary objects in NSX
- Deploy Tanzu Operations Manager v3.0.40
- Deploy Bosh Director
- Deploy Tanzu Kubernetes Grid Integrated Edition v1.21.0
Create the necessary objects in vSphere
A few folders and a Resource Pool need to be created in vSphere before deploying the TKGI foundation.
-
In vCenter, go to the Hosts tab and the right-click on Cluster and click âNew Resource Poolâ. Add a new resource pool (e.g.,
RP01
). When adding the resource pool, only the name is required to be entered, the rest of the settings can be left as they are. Save the new resource pool by clicking âOKâ. - In the VMs and Templates tab, right-click on Datacenter and click âNew Folderâ->âNew VM and Template Folderâ. Enter
pcf_templates
as name and then click âOKâ. -
Repeat the previous step to add
pcf_vms
folder. - In the Storage tab, click the particular datastore that you plan to use. Then, click âFilesâ tab on the right pane. Click âNew Folderâ, and enter
pcf_disk
as the name, and then click âOKâ.
Create the necessary objects in NSX
-
In NSX Manager, go to Networking->NAT and add the following NAT rules under the
T0-gateway-1
T0 gateway.Name Action Match Translated IP opsmanager DNAT Destination IP: 192.168.16.10 10.1.1.10 snat1-1 SNAT Source IP: 10.1.1.0/24 192.168.16.1 - Go to Networking->IP Address Pools->IP Address Pools and add the following pool.
floating-ip-pool
- (Range:192.168.16.101-192.168.16.254
, CIDR:192.168.16.0/24
)
- Go to Networking->IP Address Pools->IP Address Blocks and add the following block.
pods-ip-block
- (CIDR:172.16.0.0/16
)nodes-ip-block
- (CIDR:10.16.0.0/16
)
Deploy the Tanzu Operations Manager
- Download the OVA from the Broadcom Support Portal
- In vCenter, right-click on the Resource Pool âRP01â, and the click âDeploy OVF Templateâ.
- In the âSelect an OVF Templateâ screen, select âLocal fileâ and then click on âUpload Filesâ to upload the OVA file
ops-manager-vsphere-3.0.40+LTS-T.ova
that was downloaded. Click âNextâ. - In the âSelect a name and folderâ screen, enter a name of the VM or accept the default. Select the âpcf_vmsâ folder as the location for the VM. Click âNextâ.
- Review the details and then click âNextâ.
- Select the storage that you want to use, and then click âNextâ.
- Select the network âLS1.1â and then click âNextâ.
-
In the Customize template screen, provide the following info, and then click âNextâ.
Setting Value IP Address 10.1.1.10 Netmask 255.255.255.0 Default Gateway 10.1.1.1 DNS 192.168.86.34 NTP Servers 192.168.86.34 Public SSH Key your ssh key here Custom Hostname opsmgr - Review the details and then click âFinishâ.
- Check the deployment task in vCenter. Wait for it to complete.
- Set up DNS to add the A entry for Ops Managerâs DNAT Destination IP (
192.168.16.10
) and FQDNopsmgr.deephackmode.io
. - In a browser, go to
https://opsmgr.deephackmode.io
. - Set up âInternal Authenticationâ. Setup username and password for the
admin
account. Provide a passphrase as well. Click âOKâ to complete the authentication setup. - At the Ops Manager Login, enter the
admin
user and password.
Deploy the Bosh Director
- In the Ops Manager UI, click the Director tile to get to the settings page.
-
In vCenter Config tab, provide the following info, and then click âSaveâ.
Setting Value vCenter Name vc-1 vCenter Host vc-1.deephackmode.io vCenter Username $username vCenter Password $password Datacenter Name Datacenter Virtual Disk Type Thin Ephemeral Datastore Names datastore1 Persistent Datastore Names datastore1 Click the âNSX-T Networkingâ radio box, and provide the following info:
NSX Address nsx-mgr-1.deephackmode.io NSX-T Authentication Local User Authentication NSX Username $username NSX Password $password Use NSX-T Policy API :checked: NSX CA Cert $NSXCA - In Director Config tab, enter
192.168.86.34
as the NTP server. The rest of the settings in this tab can be left with the default values. Click âSaveâ. -
In Create Availability Zones tab, add 1 AZ with the following info, and then click âSaveâ.
Setting Value Name az1 IaaS Configuration vc-1 Cluster Cluster Resource Pool RP01 -
In Create Networks tab, add 1 Network with the following info, and then click âSaveâ.
Setting Value Name deployment-network vSphere Network Name LS1.1 CIDR 10.1.1.0/24 Reserved IP Ranges 10.1.1.0-10.1.1.10 DNS 192.168.86.34 Gateway 10.1.1.1 Availability Zones az1 - In Assign AZs and Networks, set the Singleton AZ to
az1
and the Network todeployment-network
. Click âSaveâ. - In Security tab, enable the option âInclude Tanzu Ops Manager Root CA in Trusted Certsâ. Click âSaveâ.
- The rest of the tabs can be left with the default settings.
- Click âInstallation Dashboardâ from the top menu, and then click âReview Pending Changesâ, and then click âApply Changesâ. Wait for the âApply Changesâ to complete.
Deploy the Tanzu Kubernetes Grid Integrated Edition
- Download the TKGI tile from the Broadcom Support Portal.
- In Ops Manager, click âImport a Productâ and then find the TKGI tile file
pivotal-container-service-1.21.0-build.32.pivotal
and upload it. - Once uploaded, the product would be listed in the left pane. Click the
+
sign beside the product to stage it. - Once staged, the tile would appear on the main pane. Click the product to begin configuring it.
- In Assign AZs and Networks, Select
az1
on both âPlace singleton jobs in AZâ and âBalance other jobs in AZsâ settings. Selectdeployment-network
on both âNetworkâ and âService Networkâ settings. Click âSaveâ. - In TKGI API tab, click âChangeâ under the âCertificate to secure the TKGI APIâ, and then Generate the cert and key for
*.deephackmode.io
name. - Enter
tkgi.deephackmode.io
as the API Hostname. Click âSaveâ. - In Plan 1 tab, check the
az1
checkbox under Master/ETCD Availability Zones and also under Worker Availability Zones. The rest of the settings can be left as default. Click âSaveâ. - In Kubernetes Cloud Provider tab, enter the vCenter information. The Stored VM Folder can be set to
pcf_vms
. Click âSaveâ. - In Networking tab, select âNSX-Tâ as the Container Networking Interface.
- Follow the instructions on how to generate and register a NSX Principal Identity. Then, enter the generated Principal Identity cert and key into the NSX Manager Super User Principal Identity Certificate fields.
- Enter the NSX Manager CA cert. Get this from NSX Manager UI or retrieve using
openssl
cli (if itâs using a self-signed server cert). - Enable NAT mode.
- Enable Policy API mode.
- Enter
pods-ip-block
as the Pods IP Block ID. - Enter
nodes-ip-block
as the Nodes IP Block ID. - Enter
T0-gateway-1
as the T0 Router ID. - Enter
floating-ip-pool
as the Floating IP Pool ID. - Enter
192.168.86.34
as the Nodes DNS. - Enter
Cluster
as the vSphere Cluster Names. - Click Save.
- In CEIP tab, click âNoâ under âJoin the⌠Programâ. Select âDemo or POCâ as your use-case. Click âSaveâ.
- In Storage tab, select âYesâ under vSphere CSI Driver Integration. Click âSaveâ.
- The rest of the tabs can be left with the default settings.
- Click âInstallation Dashboardâ from the top menu, and then click âReview Pending Changesâ, and then click âApply Changesâ. Wait for the âApply Changesâ to complete.
That right there is my brand new shiny TKGI Foundation!