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 VXLAN:
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 VXLAN
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
- [Admin Host] Create the VXLAN network
${ABMRA_WORK_DIR}/scripts/gcp/005_create_vxlan_network.sh
- [Admin Host] Validate the VXLAN network
${ABMRA_WORK_DIR}/scripts/gcp/006_validate_vxlan_network.sh
- Connect to the administrative host
- [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
- 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
Verify the following:
${ABMRA_WORK_DIR}/scripts/010_verify_asm.sh
- Deployments and Pods are READY.
- Service is created and the
EXTERNAL-IP
is populated.
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 VXLAN network configurations
${ABMRA_WORK_DIR}/scripts/gcp/996_delete_vxlan_network.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