Perform the prerequisite steps listed in this section.
Install the Bootstrapper virtual machine on a vCenter Server, optionally with vRealize Log Insight, in an air-gapped environment. For information about setting up VMware Telco Cloud Automation in an air-gapped environment, see
VMware Telco Cloud Automation User Guide.
Note: If you are deploying VMware Telco Cloud Automation in an air-gapped environment, ensure that you select the
Activation Mode as
Standalone. For more information, see
Activate VMware Telco Cloud Automation Manager.
- Use the VMware-Telco-Cloud-Automation-<version>.ova.
- In the Appliance Role step, select Bootstrapper as the appliance role.
- Upload the latest Photon VM template on your vCenter Server. For example, photon-3-kube-v1.21.2+vmware.1 for VMware Tanzu Kubernetes Grid 1.4.0. This step ensures that the script creates management clusters and workload clusters.
- Using the bootstrapper_template.json file located at /opt/vmware/setup_ha/bootstrapper_template.json, create the bootstrapper.json file on the Bootstrapper virtual machine. The following table lists the required section in the bootstrapper.json file.
Note:
- Use Python version 3.6.9 or later.
- All passwords are base64 encoded.
- When deploying VMware Telco Cloud Automation in an air-gapped environment, ensure that the CA certificates are encoded in the base64 format.
Section in bootstrapper.json | Mandatory/Optional | Comments | ||||||
---|---|---|---|---|---|---|---|---|
"bootstrapperVmContext": { "ip": "<Bootstrapper VM IPv4 or FQDN>", "username": "<admin user>", "password": "<password encoded in base64 format>" }, |
Mandatory |
|
||||||
"vsphereContext": { "ip": "<Vcenter IPv4 or FQDN>", "username": "<admin user>", "password": "<password encoded in base64 format>", "dataCenter": "/<dataCenter>", "dataStore": "/<dataCenter>/datastore/<dataStoreName>", "network": "/<dataCenter>/network/<vmFolderName>/<networkName>", "resourcePool": "/<dataCenter>/host/<clusterName>/Resources/<resourcePoolName>", "vmFolder": "/<dataCenter>/vm/<vmFolderName>", "vmTemplate": "<Example: photon-3-kube-v1.21.2+vmware.1 is the template for TKG 1.4.0>", "version": "<Optional. Example: 7.0.2 Defaults to 7.0.2 when not provided.>" }, |
Mandatory |
Note: Ensure that you provide full paths for the
vsphereContext resources.
|
||||||
"managementCluster":{ "controlPlaneEndpointIP": "<Management Cluster IPv4>", "clusterPassword": "<password encoded in base64 format>" }, |
Mandatory |
|
||||||
"workloadCluster":{ "controlPlaneEndpointIP": "<Workload Cluster IPv4>", "clusterPassword": "<password encoded in base64 format>" }, |
Mandatory if tcaCp is provided. If you provide tcaCp , then all the fields are mandatory. |
|
||||||
"tcaMgr" : { "ip": "<TCA IPv4>", "platformManagerPscUrl": "https://<Vcenter IPv4/FQDN>", "platformManagerPscDomain": "<domain> example: vsphere.local", "platformManagerPscUsergroup": "<Vcenter user group> example: administrators" }, |
Optional. If you include this section, then all the fields are mandatory. |
|
||||||
"tcaCp" : { "ip": "<TCA CP IPv4>", "platformManagerPscUrl": "https://<Vcenter IPv4/FQDN>", "platformManagerPscDomain": "<domain> example: vsphere.local", "platformManagerPscUsergroup": "<Vcenter user group> example: administrators", "sshPrivateKeyFile": "<path to ssh private key file> example /fullPath/.ssh/id_rsa", "sshPublicKeyFile": "<path to ssh public key file> example /fullPath/.ssh/id_rsa.pub", "sshPrivateKey": "<ssh key files above or bootstrapper cluster ssh private key>", "sshPublicKey": "<ssh key files above or bootstrapper cluster ssh public key>" }, |
Optional. If you include this section, then all the fields are mandatory. |
Note: Either provide the public key and private key in string format or as SSH files. Do not provide the keys in a mixed format.
Note:
|
||||||
"overrideValues": { " comment": "each entry in this section is optional", "vrliAddress":"<VRLI IPv4/FQDN address> : if VRLI Address is provided, fluent service pod will be installed in fluent-system namespace", "repoLibraryPath":"<URI with IPv4/FQDN, port and path for external repo like Airgap, Jfrog > example: 10.1.9.100:8012/library", "dnsServers":[ "<DNS server IPv4 address 1>", "<DNS server IPv4 address 2>", . . . "<DNS server IPv4 address N>" ], "airgapFQDN":"<FQDN address> fqdn of the airgap server> Example: airgap.example.com", "airgapCert": "<Optionally needed when airgap server is configured with self signed cert: base64 encoded>" } |
Optional | Each key in this section is optional.
|
Note: You must prefix unused fields with
comment_
. For example, if the airgap FQDN is not used, you must provide the following prefix:
"comment_airgapFQDN":"<FQDN address> fqdn of the airgap server> Example: airgap.example.com"
. Or, you can remove the unused optional fields.