Deployment in Google Cloud Platform

Along with the Google Kubernetes Engine, GoodData.CN requires the following GCP Services:

  • Memorystore for Redis
  • Cloud SQL for PostgreSQL

These services should be accessible from the GKE cluster. Make sure to read their specific documentation.

Memorystore for Redis

See the official documentation.

An example of the provisioning service can be seen with the gcloud tool.

gcloud redis instances create gooddata-cn-gcp-redis-cache \
  --size=5 --region=europe-west3 --redis-version=redis_5_0

You can retrieve the required connection properties from the service description:

gcloud redis instances describe gooddata-cn-gcp-redis-cache

Note the values of host and port:

authorizedNetwork: projects/gooddata-gcp/global/networks/default
connectMode: DIRECT_PEERING
createTime: '2020-09-08T13:20:06.020777662Z'
currentLocationId: europe-west3-a
host: 10.124.16.3
locationId: europe-west3-a
memorySizeGb: 5
name: projects/gooddata-gcp/locations/europe-west3/instances/gooddata-cn-gcp-redis-cache
persistenceIamIdentity: serviceAccount:542667690843-compute@developer.gserviceaccount.com
port: 6379
redisVersion: REDIS_5_0
reservedIpRange: 10.124.16.0/29
state: READY
tier: BASIC

Cloud SQL (PostgreSQL)

See the official documentation.

An example of the provisioning service can be seen with the gcloud tool.

# only accessible by Private IP from GKE
gcloud beta sql instances create gooddata-cn-gcp-pg \
  --tier=db-custom-2-7680 --region=europe-west3 --database-version=POSTGRES_11 \
  --network default --no-assign-ip

Set an initial password for the default user (or create a new one).

gcloud sql users set-password postgres --instance=gooddata-cn-gcp-pg \
  --password=<PG_PASSWORD>

You can retrieve the required connection properties from the service description

gcloud sql instances describe gooddata-cn-gcp-pg

Note the value of ipAddress. The default port is 5432.

backendType: SECOND_GEN
connectionName: gooddata-gcp:europe-west3:gooddata-cn-gcp-pg
databaseVersion: POSTGRES_12
etag: 71e54488770c07acb60fa6a73c5b76d2e3c07e81855cf6ae6c329252c1f650d4
gceZone: europe-west3-b
instanceType: CLOUD_SQL_INSTANCE
ipAddresses:
- ipAddress: 10.73.0.3
  type: PRIVATE
kind: sql#instance
name: gooddata-cn-gcp-pg
project: gooddata-gcp
region: europe-west3