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 --region=europe-west3

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