See the Logging into gcloud section of the Installation prerequisities overview documentation for the IAM role requirements.
The following quota limits are required in the ABMRA_PLATFORM_PROJECT_ID project to provision all of the instances with the default configuration:
Service | Limit name | Dimensions (e.g location) | Limit |
---|---|---|---|
Compute Engine API | N2 CPUs | region: us-central1 | 100 |
Compute Engine API | N2 CPUs | region: us-west1 | 96 |
- Open Cloud Shell
- [Cloud Shell] Authenticate
gcloud
and set the application-defaultgcloud auth login --activate --no-launch-browser --quiet --update-adc
- [Cloud Shell] Clone this project to the Cloud Shell home directory
git clone https://github.com/GoogleCloudPlatform/anthos-bare-metal-ref-arch.git
- [Cloud Shell] Set the Organization ID or Folder ID where the projects will be created.
This step can be skipped if using existing projects.
ORexport ABMRA_ORGANIZATION_ID=
export ABMRA_FOLDER_ID=
- [Cloud Shell] Set the Billing Account ID of the Billing Account for the new projects.
This step can be skipped if using existing projects.
export ABMRA_BILLING_ACCOUNT_ID=
- [Cloud Shell] Set the Project IDs for the new or existing projects, if not set the following defaults will be used:
export ABMRA_NETWORK_PROJECT_ID=project-0-net-prod export ABMRA_PLATFORM_PROJECT_ID=project-1-platform-prod export ABMRA_APP_PROJECT_ID=project-2-bofa-prod
- [Cloud Shell] Enable additional configuration for GCE with manual load balancers
export ABMRA_BASE_CONF=hybrid-manual-lb export ABMRA_ADDITIONAL_CONF=gce
- [Cloud Shell] Change directory into
anthos-bare-metal-ref-arch
cd anthos-bare-metal-ref-arch
- [Cloud Shell] Setup variables file
./scripts/helpers/set_variables.sh
- [Cloud Shell] Logout, the new shell configurations will take effect on next login
logout
- Open Cloud Shell
- [Cloud Shell] Create the GCP projects
${ABMRA_WORK_DIR}/scripts/002_create_gcp_projects.sh
To create the Shared VPC in the ABMRA_NETWORK_PROJECT_ID project, the Compute Shared VPC Admin
role is required for the organization or folder.
- Open Cloud Shell
- [Cloud Shell] Create the Shared VPC
${ABMRA_WORK_DIR}/scripts/003_create_shared_vpc.sh
- Open Cloud Shell
- [Cloud Shell] Generate the conf files
${ABMRA_WORK_DIR}/scripts/000_generate_conf_files.sh
- [Cloud Shell] Create the administrative host
${ABMRA_WORK_DIR}/scripts/gcp/001_create_admin_instance.sh
- Connect to the administrative host
- Preferred SSH client
- CloudShell:
gcloud compute ssh --project ${ABMRA_PLATFORM_PROJECT_ID} --zone=us-central1-a bare-metal-admin-1
- [Admin Host] Clone this project to the administrative host
git clone https://github.com/GoogleCloudPlatform/anthos-bare-metal-ref-arch.git
- [Admin Host] Set the Project IDs for the projects, these should match the value entered above.
export ABMRA_NETWORK_PROJECT_ID=project-0-net-prod export ABMRA_PLATFORM_PROJECT_ID=project-1-platform-prod export ABMRA_APP_PROJECT_ID=project-2-bofa-prod
- [Admin Host] Enable additional configuration for GCE with manual load balancers
export ABMRA_BASE_CONF=hybrid-manual-lb export ABMRA_ADDITIONAL_CONF=gce
- [Admin Host] Change directory into
anthos-bare-metal-ref-arch
cd anthos-bare-metal-ref-arch
- [Admin Host] Setup variables file
./scripts/helpers/set_variables.sh
- [Admin Host] Source the
vars.sh
filesource ./scripts/vars.sh
- [Admin Host] Generate the conf files
${ABMRA_WORK_DIR}/scripts/000_generate_conf_files.sh
- [Admin Host] Prepare the administrative host
${ABMRA_WORK_DIR}/scripts/001_prepare_admin_host.sh
- [Admin Host] Logout, the new shell configurations will take effect on next login.
logout
- Connect to the administrative host
- [Admin Host] Authenticate
gcloud
and set the application-defaultgcloud auth login --activate --no-launch-browser --quiet --update-adc
NOTE: If you get an error message such as:
gcloud: command not found
or-bash: /snap/bin/gcloud: No such file or directory
, logout to activate the shell configuration changes. - [Admin Host] Create the GCE cluster instances
${ABMRA_WORK_DIR}/scripts/gcp/002_create_cluster_instances.sh
- [Admin Host] Distribute the
ABMRA_DEPLOYMENT_USER
SSH key${ABMRA_WORK_DIR}/scripts/gcp/003_distribute_ssh_keys.sh
- [Admin Host] Validate the
ABMRA_DEPLOYMENT_USER
settings${ABMRA_WORK_DIR}/scripts/gcp/004_validate_deployment_user.sh
- Connect to the administrative host
- [Admin Host] Create the control plane load balancer
${ABMRA_WORK_DIR}/scripts/gcp/lb-proxy/001_create_cp_lb.sh
- [Admin Host] Create the ingress load balancer address
${ABMRA_WORK_DIR}/scripts/gcp/lb-proxy/002_create_ingress_lb_address.sh
- Connect to the administrative host
- [Admin Host] Generate the configuration files
${ABMRA_WORK_DIR}/scripts/gcp/lb-proxy/003_generate_conf_files.sh
- [Admin Host] Prepare the cluster configuration files
${ABMRA_WORK_DIR}/scripts/004_prepare_configuration_files.sh
- Connect to the administrative host
- [Admin Host] Create the clusters
${ABMRA_WORK_DIR}/scripts/005_create_clusters.sh
- Connect to the administrative host
- [Admin Host] Configure Connect Gateway
${ABMRA_WORK_DIR}/scripts/006_configure_connect_gateway.sh
- Open the URL provided by the script
- Verify that all clusters show healthy
- [Admin Host] Create the ingress load balancer
${ABMRA_WORK_DIR}/scripts/gcp/lb-proxy/004_create_ingress_lb.sh
- Connect to the administrative host
- [Admin Host] Setup ACM
${ABMRA_WORK_DIR}/scripts/007_setup_acm.sh
- [Admin Host] Verify ACM
Verify the following:
${ABMRA_WORK_DIR}/scripts/008_verify_acm.sh
Status
for each cluster showsSYNCED
before proceeding.NOTE: Errors may be displayed while the synchronization is in progress.
-
Connect to the administrative host
-
[Admin Host] Setup ASM
${ABMRA_WORK_DIR}/scripts/009_setup_asm.sh
-
[Admin Host] Verify ASM
${ABMRA_WORK_DIR}/scripts/010_verify_asm.sh
Verify the following:
- Deployments and Pods are READY.
-
[Admin Host] Create the ASM load balancer
${ABMRA_WORK_DIR}/scripts/gcp/lb-proxy/005_create_asm_lb.sh
See the Deploy the application guide.
To delete all of the resources, the instances and projects can just be deleted. To rollback the environment, the Manual rollback steps can be applied until preferred state is reached.
- Open Cloud Shell
- [Cloud Shell] Delete the cluster instances
${ABMRA_WORK_DIR}/scripts/gcp/995_delete_cluster_instances.sh
- [Cloud Shell] Delete the administrative host
${ABMRA_WORK_DIR}/scripts/gcp/999_delete_admin_instance.sh
- [Cloud Shell] Delete the GCP projects
${ABMRA_WORK_DIR}/scripts/999_delete_gcp_projects.sh
- Connect to the administrative host
- [Admin Host] Unregister the clusters
${ABMRA_WORK_DIR}/scripts/gcp/994_unregister_cluster.sh
- [Admin Host] Delete the cluster instances
${ABMRA_WORK_DIR}/scripts/gcp/995_delete_cluster_instances.sh
- [Admin Host] Delete the load balancers
${ABMRA_WORK_DIR}/scripts/gcp/lb-proxy/999_delete_lbs.sh
- [Admin Host] Delete the cluster configurations
${ABMRA_WORK_DIR}/scripts/gcp/997_delete_cluster_configurations.sh
- [Admin Host] Delete the Google service accounts
${ABMRA_WORK_DIR}/scripts/gcp/998_delete_gsas.sh
- [Admin Host] Logout of the administrative host
logout
- [Cloud Shell] Delete the administrative host
${ABMRA_WORK_DIR}/scripts/gcp/999_delete_admin_instance.sh
- [Cloud Shell] Delete the ACM Cloud Source Repository
${ABMRA_WORK_DIR}/scripts/998_delete_acm_csr.sh
- [Cloud Shell] Delete the GCP projects
${ABMRA_WORK_DIR}/scripts/999_delete_gcp_projects.sh