This topic describes how to configure the BOSH Director in VMware Tanzu Operations Manager (Ops Manager) on Google Cloud Platform (GCP).
Note: You can also perform the procedures in this topic using the Ops Manager API. For more information, see Using the Ops Manager API.
To configure BOSH Director, you must first access your Ops Manager installation and determine how your user database is maintained.
To access Ops Manager:
In a web browser, navigate to the fully qualified domain name (FQDN) of Ops Manager that you set up in Deploying Ops Manager on GCP.
Note: In order to set up Ops Manager authentication correctly, VMware recommends using an FQDN to access Ops Manager. Using an ephemeral IP address to access Ops Manager can cause authentication errors upon subsequent access.
Log into Ops Manager. To log in, see Log In to Ops Manager For the First Time.
To configure your GCP tile:
Click the Google Cloud Platform tile in the Ops Manager Installation Dashboard.
Select Google Config and complete the following fields:
your-gcp-project-id
.Select AuthJSON. In the field below, enter the contents of the JSON file that you downloaded in Set Up IAM Service Accounts in Preparing to Deploy Ops Manager on GCP.
Note: As an alternative, you can select The Ops Manager VM Service Account option to use the service account that you set up in Set Up IAM Service Accounts in Preparing to Deploy Ops Manager on GCP. To use this option, the service account must be assigned the Service Account Actor role.
Click Save.
To configure the Director Config pane in the BOSH Director tile, you must have the correct permissions. To configure these permissions, see Required Permissions in the BOSH documentation and Creating storage buckets in the GCP documentation.
To configure the Director Config pane:
Select Director Config.
In the NTP Servers (comma delimited) field, enter 169.254.169.254
to designate the metadata.google.internal
host as NTP server.
Leave the Bosh HM Forwarder IP Address field blank.
Note: Starting in Pivotal Application Service (PAS) v2.0, BOSH-reported component metrics are available in Loggregator Firehose by default. If you continue to use the BOSH HM Forwarder to consume these component metrics, you might receive duplicate data. To prevent this, leave the Bosh HM Forwarder IP Address field blank.
Select the Enable VM Resurrector Plugin checkbox to enable the BOSH Resurrector functionality and increase your runtime availability.
The Enable BOSH System Metrics Server checkbox is deprecated, only keep it selected if your metrics system relies upon the format used. It is recommended that you switch away from this format as soon as possible, as this option is going away in future releases.
Keep the Enable System Metrics checkbox selected to collect system metrics, including load, CPU, memory, swap, and disk metrics, and make them available for scraping from agents on each VM. This is recommended if you are using TAS, as it will scrape the agents automatically and insert the metrics into the regular logging and metrics egress stream. For a list of metrics collected, see System Metrics Agent in GitHub.
Select Enable Post Deploy Scripts to run a post-deploy script after deployment. This script allows the job to execute additional commands against a deployment.
Note: If you intend to install VMware Tanzu Kubernetes Grid Integrated Edition (TKGI), you must enable post-deploy scripts.
Select Recreate VMs deployed by the BOSH Director to force BOSH to re-create BOSH-deployed VMs on the next deploy. This process does not re-create the BOSH Director VM or destroy any persistent disk data. This checkbox is cleared automatically after a successful re-deployment.
Select Recreate BOSH Director VMs to force the BOSH Director VM to be re-created on the next deploy. This process does not destroy any persistent disk data. This checkbox is cleared automatically after a successful re-deployment.
Select Recreate All Persistent Disks to force BOSH to migrate and re-create persistent disks for the BOSH Director and all tiles. This process does not destroy any persistent disk data. This checkbox is cleared automatically after a successful re-deployment.
Select Enable bosh deploy retries to instruct Ops Manager to retry failed BOSH operations up to five times.
Select Skip Director Drain Lifecycle to prevent drain scripts from running when the BOSH Director is re-created.
Select Store BOSH Job Credentials on tmpfs (beta) to store credentials for BOSH jobs on temporary file storage (tmpfs) memory, rather than on disk. You must re-create all BOSH-deployed VMs for this setting to take effect.
Select Keep Unreachable Director VMs to preserve BOSH Director VMs after a failed deployment for troubleshooting purposes.
(Optional) Modify the Director Workers value, which sets the number of workers available to execute BOSH Director tasks. This field defaults to 5
.
(Optional) Max Threads sets the maximum number of threads that the BOSH Director can run simultaneously. VMware recommends that you leave the field blank to use the default value, unless doing so results in rate limiting or errors on your IaaS.
(Optional) To add a custom URL for your BOSH Director, enter a valid hostname in Director Hostname. You can also use this field to configure a load balancer in front of your BOSH Director. For more information, see How to Set Up a Load Balancer in Front of Operations Manager Director in the VMware Tanzu Support knowledge base.
(Optional) To set a custom banner that users see when logging in to the BOSH Director using SSH, enter text in the Custom SSH Banner field.
(Optional) Enter your comma-separated custom Identification Tags. For example, iaas:foundation1, hello:world
. You can use the tags to identify your foundation when viewing VMs or disks from your IaaS.
For Certificate Duration Overrides, you can choose whether certificates generated within Ops Manager and CredHub use the default duration specified for the certificate or a custom duration value that you specify.
On: Select this option to set a value to override the duration for certificates created by all products. If a product creates a certificate with a longer duration than the value you set, then the longer duration is used.
Note: After you set a certificate duration override, you must take additional steps to apply the setting to all certificates. For more information, see Overriding Duration for Certificates.
Select HM Pager Duty Plugin to enable Health Monitor integration with PagerDuty.
Select HM Email Plugin to enable Health Monitor integration with email.
For CredHub Encryption Provider, you can choose whether BOSH CredHub stores its encryption key internally on the BOSH Director and CredHub VM, or in an external hardware security module (HSM). The HSM option is more secure.
Before configuring an HSM encryption provider in the Director Config pane, you must follow the procedures and collect information described in Preparing CredHub HSMs for Configuration.
Note: After you deploy Ops Manager with an HSM encryption provider, you cannot change BOSH CredHub to store encryption keys internally.
Luna HSM: Select this option to use a SafeNet Luna HSM as your permanent CredHub encryption provider, and fill in the following fields:
Note: If you use multiple HSM hosts, you must use the Ops Manager API to set or update the HSM configuration. For more information, see Updating director and Iaas properties (Experimental) in the Ops Manager API documentation.
1792
.Select a Blobstore Location to configure the blobstore as either an internal server or an external endpoint.
Note: After you deploy the BOSH Director, only Ops Manager users in Advanced Mode can change the blobstore location. For more information, see Ops Manager Fields That Lock On Deploy.
Internal: Select this option to use an internal blobstore. No additional configuration is required.
S3 Compatible Blobstore: Select this option to use an external S3-compatible endpoint. To create an S3 bucket, follow the procedures in Sign up for Amazon S3 and Creating a Bucket in the AWS documentation. When you have created an S3 bucket, configure the following fields:
S3 Endpoint:
us-west-2
region, the URL you create would be https://s3.us-west-2.amazonaws.com
. Enter this URL into the S3 Endpoint field.If you are using a non-public S3-compatible endpoint (Ops Manager v2.10.19 or earlier):
SSH into the Ops Manager VM by running:
ssh ubuntu@OPS-MANAGER-FQDN
Where OPS-MANAGER-FQDN
is the fully-qualified domain name (FQDN) of your Ops Manager deployment.
Copy the custom public CA certificate you used to sign the S3 endpoint into the /etc/ssl/certs
directory on the Ops Manager VM.
On the Ops Manager VM, import the custom CA certificate into the Ops Manager VM truststore by running:
sudo update-ca-certificates -f -v
Add this custom CA certificate into the Trusted Certificates field in the Security page. For instructions, see Security Page.
Bucket Name: Enter the name of the S3 bucket.
Important: AWS ends support for path-style URLs for all S3 buckets created after September 30, 2020. For more information, see Support for Virtual-Hosted-Style URLs for AWS S3 Blobstores.
Note: This feature is only available for BOSH VMs that use Xenial stemcell line 621 or later.
Note: AWS recommends using Signature Version 4. For more information about AWS S3 Signatures, see Authenticating Requests in the AWS documentation.
GCS Blobstore: Select this option to use an external Google Cloud Storage (GCS) endpoint.
To create a GCS bucket, follow the procedures in Creating Storage Buckets in the GCS documentation. When you have created a GCS bucket, configure the following fields:
For Database Location, if you configured an external MySQL database such as Cloud SQL, select External MySQL Database and complete the fields below. Otherwise, select Internal. For more information about creating a Cloud SQL instance, see Quickstart for Cloud SQL for MySQL in the Google Cloud documentation.
Note: Use of an External MySQL Database only applies to the BOSH Director. UAA and CredHub will not use these settings and will continue to use the Postgres database colocated with the BOSH Director.
Caution: After you deploy the BOSH Director, you cannot change the Database Location from an External MySQL Database to an Internal database or from an Internal database to an External MySQL Database.
3306
.In addition, if you selected the Enable TLS for Director Database checkbox, you can fill out the following optional fields:
Click Save.
To configure the Create Availability Zones pane:
Select Create Availability Zones.
Click Add.
For Google Availability Zone:
us-central1
region and selected us-central1-a
as one of the zones for your HTTP(S) load balancer instance groups, enter us-central1-a
.Repeat the above step for all the AZs that you associated to instance groups in Preparing to Deploy Ops Manager on GCP.
Click Save.
Repeat the above step for all the AZs you are using in your deployment. When you are done, click Save.
To configure the Create Networks pane:
Select Create Networks.
Make sure Enable ICMP checks is not selected. GCP routers do not respond to ICMP pings.
Click Add Network. Create the three networks described in the tables below.
Note: To use a shared VPC network, enter the shared VPC host project name before the network name in the format VPC-PROJECT-NAME/NETWORK-NAME/SUBNET-NAME/REGION-NAME
. For example, vpc-project/opsmgr/central/us-central1
. For more information, see Configuring a Shared VPC on GCP.
Network Name | infrastructure |
---|---|
Google Network Name | Enter the name of the infrastructure network that you created in Create a GCP Network with Subnets in Preparing to Deploy Ops Manager on GCP. The format is: pcf-virt-net/pcf-infrastructure-subnet-MY-REGION/MY-GCP-REGION |
CIDR | Enter the name of the CIDR ending in /26 that you used when you created the infrastructure subnet in GCP. Example: 192.168.101.0/26 |
Reserved IP Ranges | Enter the first .1 through .9 addresses from the CIDR. For example, if the CIDR is 192.168.101.0/26 , enter the range 192.168.101.1-192.168.101.9 . |
DNS | 169.254.169.254 |
Gateway | Enter the first .1 address from the CIDR. For example, if the CIDR is 192.168.101.0/26 , enter 192.168.101.1 . |
Availability Zones | Select all three AZs. |
Name | Enter the name of the runtime that you intend to deploy in this environment. For example, pas or pks . |
---|---|
Google Network Name | Enter the name of the runtime network that you created when you prepared your GCP environment. The format is: pcf-virt-net/pcf-RUNTIME-subnet-MY-REGION/MY-GCP-REGION |
CIDR | Enter the name of the CIDR ending in /22 that you used when you created the runtime subnet in GCP. Example: 192.168.16.0/22 |
Reserved IP Ranges | Enter the first .1 through .9 addresses from the CIDR. For example, if the CIDR is 192.168.16.0/22 , enter the range 192.168.16.1-192.168.16.9 . |
DNS | 169.254.169.254 |
Gateway | Enter the first .1 address from the CIDR. For example, if the CIDR is 192.168.16.0/22 , enter 192.168.16.1 . |
Availability Zones | Select all three AZs. |
Network Name | services |
---|---|
Google Network Name | Enter the name of the services network that you created when you prepared your GCP environment. The format is: pcf-virt-net/pcf-services-subnet-MY-REGION/MY-GCP-REGION |
CIDR | Enter the name of the CIDR ending in /22 that you used when you created the services subnet in GCP. Example: 192.168.20.0/22 |
Reserved IP Ranges | Enter the first .1 through .9 addresses from the CIDR. For example, if the CIDR is 192.168.20.0/22 , enter the range 192.168.20.1-192.168.20.9 . |
DNS | 169.254.169.254 |
Gateway | Enter the first .1 address from the CIDR. For example, if the CIDR is 192.168.20.0/22 , enter 192.168.20.1 . |
Availability Zones | Select all three AZs. |
Note: After you deploy Ops Manager, you add subnets with overlapping Availability Zones to expand your network. For more information about configuring additional subnets, see Expanding Your Network with Additional Subnets.
Note: Ensure 169.254.169.254
, the IP address of the metadata.google.internal
metadata server, is always specified at the beginning of this step's DNS resolver lists.
To configure the Assign AZs and Networks pane:
Select Assign AZs and Networks.
Use the drop-down menu to select a Singleton Availability Zone. The BOSH Director installs in this AZ.
Under Network, select the infrastructure
network for your BOSH Director.
Click Save.
To configure the Security pane:
Select Security.
In Trusted Certificates, enter your custom certificate authority (CA) certificates to insert into your organization’s certificate trust chain. This feature enables all BOSH-deployed components in your deployment to trust custom root certificates.
To enter multiple certificates, paste your certificates one after the other. For example, format your certificates like the example below:
-----BEGIN CERTIFICATE----- ABCDEFGH12345678ABCDEFGH12345678ABCDEFGH12345678AB EFGH12345678ABCDEFGH12345678ABCDEFGH12345678ABCDEF GH12345678ABCDEFGH12345678ABCDEFGH12345678... ------END CERTIFICATE------ -----BEGIN CERTIFICATE----- BCDEFGH12345678ABCDEFGH12345678ABCDEFGH12345678ABB EFGH12345678ABCDEFGH12345678ABCDEFGH12345678ABCDEF GH12345678ABCDEFGH12345678ABCDEFGH12345678... ------END CERTIFICATE------ -----BEGIN CERTIFICATE----- CDEFGH12345678ABCDEFGH12345678ABCDEFGH12345678ABBB EFGH12345678ABCDEFGH12345678ABCDEFGH12345678ABCDEF GH12345678ABCDEFGH12345678ABCDEFGH12345678... ------END CERTIFICATE------
Note: If you want to use Docker registries to run TAS for VMs app instances in Docker containers, enter the certificate for your private Docker registry in this field. For more information about running app instances in TAS for VMs using Docker registries, see Using Docker Registries.
To include the Ops Manager root CA in the Trusted Certificates field, select the Include OpsManager Root CA in Trusted Certs checkbox. BOSH Director includes this CA in the trust store of every VM that it deploys.
Important: If you are using Ops Manager to generate certificates for either a load balancer or router, then you must select this checkbox.
To clear the default trusted certificates from all BOSH-deployed Linux VMs, select the Clear the Default Trusted Certificates Store checkbox. You must provide your own trusted certificates when selecting this checkbox as all TLS communication fails without trusted certificates available.
Note: This option is available in Ops Manager v2.10.21 and later.
Choose Generate passwords or Use default BOSH password. VMware recommends that you use the Generate passwords option for greater security.
Click Save. To view your saved BOSH Director password, click the Credentials tab.
The BOSH DNS Config pane allows you to configure DNS for BOSH Director by adding excluded recursors, a recursor timeout, and handlers.
The fields in the BOSH DNS Config pane are:
Excluded Recursors: Exclude recursor addresses, which are URL redirects, so that they are not contacted by the BOSH DNS server. For more information about how the BOSH DNS release selects recursors, see Recursors in Native DNS Support in the BOSH documentation.
Recursor Timeout: Specify a timeout for the BOSH DNS server to contact any connected recursor addresses. The time limit includes dialing, writing, and reading from the recursor. If any of these actions exceeds the time limit, the action fails.
Handlers: Specify recursor addresses that apply to specific domains. For example, you can use handlers to forward all requests to a domain to a private DNS for resolution. For more information about using handlers, see Additional Handlers in Native DNS Support in the BOSH documentation.
To add excluded recursors, a recursor timeout, or handlers to the BOSH DNS release:
Select BOSH DNS Config.
(Optional) In Excluded Recursors, enter a list of prohibited recursor addresses.
(Optional) In Recursor Timeout, enter a time limit for contacting the connected recursors.
Note: This time limit must include one of the Go parse duration time units. For example, entering 5s
sets the timeout limit to five seconds. For more information about supported time units, see func ParseDuration in the Go Programming Language documentation.
(Optional) In Handlers, enter an array of custom domain handlers in JSON format. For example:
[
{
"cache": {
"enabled": true
},
"domain": "example.com",
"source": {
"type": "http",
"url": "http://example.endpoint.local"
}
}
]
Click Save.
Select Syslog.
(Optional) Select Yes to send BOSH Director system logs to a remote server.
Enter the IP address or DNS name for the remote server in Address.
Enter the port number that the remote server listens on in Port.
Select TCP or UDP from the Transport Protocol dropdown. This selection determines which transport protocol is used to send the logs to the remote server.
(Optional) Select the Enable TLS checkbox to send encrypted logs to remote server with TLS. After you select the checkbox:
Note: VMware strongly recommends that you enable TLS encryption when you are forwarding logs. Logs can contain sensitive information, such as cloud provider credentials.
(Optional) Enter an integer in Queue Size. This value specifies the number of log messages held in the buffer. The default value is 100,000.
(Optional) Select the checkbox to Forward Debug Logs to an external source. This option is deselected by default. If you select it, you may generate a large amount of log data.
(Optional) Enter configuration details for rsyslog in the Custom rsyslog Configuration field. This field requires the rainerscript syntax.
Click Save.
In the Resource Config pane, you must associate load balancers with the VMs in your deployment to enable traffic.
To configure the Resource Config pane:
Select Resource Config.
To add a load balancer to the BOSH Director, select the icon next to the BOSH Director job name to see the Load Balancers field and Internet Connected checkbox. Ensure that the Internet Connected checkbox is not selected for any job. The checkbox gives VMs a public IP address that enables outbound internet access. In Preparing to Deploy Ops Manager on GCP, you provisioned a Network Address Translation (NAT) box to provide internet connectivity to your VMs. For more information about using NAT in GCP, see VPC network overview in the GCP documentation.
Note: If you install VMware Tanzu Application Service for VMs [Windows] (TAS for VMs [Windows]), provision your Main Compilation Job with at least 100 GB of disk space.
Use the Ops Manager API to add custom properties to your VMs such as associated security groups and load balancers. For more information, see Managing Custom VM Extensions.
To complete your BOSH Director installation:
Click the Ops Manager Installation Dashboard link to return to the Installation Dashboard.
Click Review Pending Changes, then Apply Changes. If the following ICMP error message appears, return to the Network Config pane, and ensure you have deselected the Enable ICMP Checks checkbox. Click Review Pending Changes, then Apply Changes again.
BOSH Director installs. This might take a few moments. When the installation process is complete, the Changes Applied window appears.
After you complete this procedure, follow the instructions for the runtime you intend to install.
To deploy TAS for VMs, see Configuring TAS for VMs.
To prepare to deploy TKGI, see Creating Service Accounts in GCP for TKGI.