GVC (Global Virtual Cloud)

Overview

Refer to the GVC concepts page.

Create a GVC

Refer to the Create a GVC guide for additional details.

Switching between GVCs

Using the console, if an org has multiple GVCs, there will be an angle bracket > to the right of the current GVC name in the left menu. Click the bracket to show and select a GVC.

GVC Namespace

The GVC namespace is used when constructing the canonical endpoint and individual location endpoints to avoid naming collision between workloads with the same name in different GVCs. The namespace is also used when performing service-to-service calls.

GVC Domain

A custom domain that has been configured for an org can be assigned to a GVC.

If a domain is not selected, the default will be:

  • Global and canonical endpoints: cpln.app
  • Individual location endpoints: controlplane.us
WARNING

Selecting a domain on a GVC will be deprecated in the future.

Refer to the updated Domain Reference page for details on how to configure a Domain.

GVC Locations

The cloud provider locations that workloads will be served from are mapped to a GVC. At least one location is required. The global and canonical endpoints will use DNS to route the request to the nearest healthy location.

NOTE

Adding or removing a location will immediately provision or deprovision it from all workloads, respectively.

The available locations are scoped to an org and can be enabled/disabled globally. Any changes to the location at the org will be propagated to all GVCs using that location.

Pull Secrets

Pull secrets are secrets that are assigned to a GVC and used by workloads when authentication is required when pulling an image from a private registry. Only the Docker, Amazon ECR, and GCP secret types are supported.

TIP

If the image was pushed to the Control Plane registry for the same org, no secret is required.

Multiple pull secrets can be assigned to a GVC. A workload's container will use the appropriate secret when pulling the image from a private registry. If there are multiple secrets, the container will cycle through each one.

If authentication fails, the deployment will not be updated and the image pull will have an exponential backoff retry starting at 10 seconds until 5 minutes (e.g., 10 seconds, 20 seconds, 40 seconds, etc.).

Sticky Sessions

Add the following tags and desired values to a GVC to enable sticky sessions for ALL Workloads within the GVC:

  1. cpln/sessionCookie
    • The name of the session cookie.
  2. cpln/sessionDuration
    • The Golang duration for the maximum session length (e.g., 300s, 30m, etc.).
    • Review this link for the proper Golang duration string format.

Once these tags are set, soft session affinity based on a cookie will consistently route requests to the same replica. The affinity to a particular replica will be lost if the replica restarts.

How to add Tags using the UI

  1. Browse to the Console UI and select the desired GVC.
  2. Click the Tags link in the middle context menu.
  3. Click Edit Tags.
  4. Enter the string cpln/sessionCookie in the Tag Key text box and enter the desired cookie name in the Tag Value text box. Click Add Tag.
  5. Enter the string cpln/sessionDuration in the Tag Key text box and enter the desired duration in the Tag Value text box. Click Add Tag.
  6. Click Save.

How to add Tags using the CLI

Execute the following CLI command (substitute the GVC_NAME, ORG_NAME, COOKIE_NAME, DURATION tokens) to add the requires Tags to a GVC:

copy
cpln gvc tag GVC_NAME --tag cpln/sessionCookie=COOKIE_NAME --tag cpln/sessionDuration=DURATION --org ORG_NAME

Export GVC

Using the console UI, when a GVC is selected, an Export GVC link is available which will save (as a local multi-document YAML manifest file) the GVC and all associated resources (Identities and Workloads).

Links to other resources are relative within the exported file. This allows the file to be easily used to backup and restore an entire GVC. It can also be used when promoting to other Orgs.

The export doesn't contain any referenced Orgs resources, such as, Secrets, Cloud Accounts, and Agents. These resources would need to be exported separately.

Permissions

The permissions below are used to define policies together with one or more of the four principal types:

PermissionDescriptionImplies
createCreate new gvcs
deleteDelete existing gvcs
editModify existing gvcsview
manageFull accesscreate, delete, edit, manage, view
viewRead-only access

Access Report

Displays the permissions granted to principals for the GVC.

CLI

Refer to the CLI documentation for a GVC.

Copyright © 2022 Control Plane Corporation. All rights reserved. Revision ca7f7cfc
Contents