Skip to content

GCP Implementation

The concept of an "isolated environment" corresponds to a project in the context of the Google Cloud Platform (GCP) resource provider. A project allows bundling of all resources associated with the deployment, and exclusively restricting authorization to those resources. Accordingly, it is desirable to create a project dedicated solely for Virtual Cluster deployment.

Deployment Prerequisites#

The Virtual Cluster will be located in a GCP project. Either a new project can be created (recommended) or an existing project can be used.

Creating the Virtual Cluster Project#

It is recommended that a new project is created that is dedicated to the Virtual Cluster. Deployment of other resources into this project is discouraged. Please perform the following steps after logging in to the Google Cloud Console.

  1. Visit the Manage resources page, and click "CREATE PROJECT".

    ./images/onboarding-gcp-project-create.png

  2. In the "New Project" panel, provide a Project name and note the Project ID - this is the identifier that is associated with the project.

    ./images/onboarding-gcp-project-new.png

    Important

    The "Project ID" may be edited only when creating the project, and this ID must be globally unique across the Google Cloud Platform.

    If there is an organization used to manage projects, select the organization instead of creating a standalone project.

    Click "CREATE" to start the creation of the project.

    Note

    Detailed documentation for creating and managing projects in the Google Cloud Console can be found here.

Enable Required APIs#

  1. From the "Navigation menu", visit "Cloud overview > Dashboard" and verify that the new project is selected from the "Project Switcher" drop-down menu.

    ./images/onboarding-gcp-project-navigation-menu.png
    Navigation menu

    ./images/onboarding-gcp-project-switcher.png
    Project switcher

  2. From the "Navigation menu", visit "APIs & Services > Library". Search for the following APIs, and enable them in the project:

    • Cloud Deployment Manager V2 API
    • Compute Engine API
    • Identity and Access Management (IAM) API
    • Cloud Resource Manager API

    Any additional project customization and creation of networking-related resources may be performed at this point.

Provision the Orchestrator Node#

A Schrödinger Solutions Architect will provide a script which will provision the orchestrator instance and, if required, the network infrastructure for the Virtual Cluster.

  1. Open the Cloud Shell Editor and from the "More menu" (three vertical dots) select "Upload". Upload the script provided by Schrödinger.

    ./images/onboarding-gcp-project-upload-script.png
    Upload the script provided by Schrödinger

  2. From the "Cloud Shell Editor", navigate to "File > Open" and select the schrodinger-virtual-cluster-environment-gcp.sh shell script. Read the instructions at the top of the script and set the required parameters in the script according to the instructions.

    ./images/onboarding-gcp-project-open-script.png
    Open the script provided by Schrödinger

  3. Make the script executable:

    chmod +x schrodinger-virtual-cluster-environment-gcp.sh
    

    and execute the script in the "Cloud Shell Terminal" by running:

    ./schrodinger-virtual-cluster-environment-gcp.sh
    

    If prompted by an "Authorize Cloud Shell" popup window, click "Authorize". The script will be executed and upon successful completion, the Orchestrator instance will be provisioned. The Orchestrator gets a service account attached to it which allows a Schrödinger Solutions Architect logged in to the system to deploy and configure the instances of the Virtual Cluster.

Logging into the Orchestrator#

A Schrödinger Solutions Architect needs to be able to log in to the Orchestrator instance via terminal (e.g., SSH or cloud shell) in order to deploy and manage the Virtual Cluster. There are multiple ways of accomplishing this. Please decide for the way which complies with the security policies of your company.