VMware Tanzu Kubernetes Grid Integrated Edition (TKGI) is a production grade Kubernetes-based container solution equipped with advanced networking, a private container registry, and full lifecycle management. TKGI radically simplifies the deployment and operation of Kubernetes clusters so you can run and manage containers at scale on private and public clouds.
To get started, follow the guide here. The guide includes instructions on how to provision and manage the TKGI control plane.
A summation of that guide is reproduced here starting from after you've deployed Ops Manager:
- Download the product file from VMware Tanzu Network.
- Navigate to
https://YOUR-OPS-MANAGER-FQDN/
in a browser to log in to the Ops Manager Installation Dashboard. - Click Import a Product to upload the product file.
- Under Enterprise PKS in the left column, click the plus sign to add this product to your staging area.
See the linked guide for full configuration documentation. At a minimum you must:
- Assign AZs and Networks to be used by the TKGI component VMs and Kubernetes cluster VMs.
- Assign a FQDN and a certificate/private key pair to be used by the TKGI API.
- Activate and configure Plan 1.
- Configure the Kuberentes Cloud Provider with IaaS credentials.
- Configure a Container Networking Interface.
- Click Review Pending Changes. Select the product that you intend to deploy and review the changes.
- Click Apply Changes.
- Navigate to the Ops Manager Installation Dashboard.
- Click the Enterprise PKS tile.
- Click the Status tab and locate the PKS API job. The IP address of the TKGI API job is the PKS API endpoint.
- Configure an external load balancer to resolve to the domain name you entered in the Enterprise PKS tile > PKS API > API Hostname (FQDN) using this IP address, ports 8443 and 9021, and either HTTPS or TCP as the protocol.
-
Install UAAC on your machine. For example
gem install cf-uaac
. -
Download a copy of your Ops Manager root CA certificate to the machine. To download the certificate, do the following:
- In a web browser, navigate to the FQDN of Ops Manager and log in.
- In Ops Manager, navigate to Settings in the drop-down menu under your username.
- Click Advanced Options.
- On the Advanced Options configuration page, click Download Root CA Cert.
- Move the certificate to a secure location on your machine and record the path.
-
Retrieve the UAA management admin client secret:
- In a web browser, navigate to the Ops Manager Installation Dashboard and click the Enterprise PKS tile.
- Click the Credentials tab.
- Click Link to Credential next to Pks Uaa Management Admin Client
and copy the value of
secret
.
-
Target your UAA server by running the following command:
uaac target https://TKGI-API:8443 --ca-cert CERTIFICATE-PATH
Where
TKGI-API
is the domain name of your TKGI API server andCERTIFICATE-PATH
is the path to your Ops Manager root CA certificate. -
Authenticate with UAA by running the following command:
uaac token client get admin -s ADMIN-CLIENT-SECRET
Where
ADMIN-CLIENT-SECRET
is your UAA management admin client secret that you retrieved in a previous step. -
Create a new user by running the following command:
uaac user add USERNAME --emails USER-EMAIL -p USER-PASSWORD
-
Assign a TKGI cluster scope to the new user by running the following command:
uaac member add pks.clusters.admin USERNAME
-
Run the following command in your terminal to log in to the TKGI CLI:
pks login -a TKGI-API -u USERNAME -p PASSWORD --ca-cert CERT-PATH
Where
TKGI-API
is the domain name of your TKGI API server,USERNAME
andPASSWORD
belong to the account you created earlier, andCERT-PATH
is the path to your root CA certificate.
pks create-cluster CLUSTER-NAME -e HOSTNAME -p PLAN_NAME
pks get-credentials CLUSTER-NAME
To run the conformance tests:
curl -L https://raw.githubusercontent.com/cncf/k8s-conformance/master/sonobuoy-conformance.yaml | kubectl apply -f -
To monitor the conformance tests, tail the sonobuoy logs. Once sonobuoy is now blocking
is shown, the conformance tests are complete.
kubectl logs -f -n sonobuoy sonobuoy
The logs can then be retrieved via the following command:
kubectl cp sonobuoy/sonobuoy:/tmp/sonobuoy ./results