Deployment in Google Cloud Platform

Along with the Google Kubernetes Engine, the 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 specific documentation.

Memorystore for Redis

See official documentation .

Example provisioning of the service can be done by 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 required connection properties from service description:

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

Look for 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 official documentation .

Example provisioning of the service can be done by 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_12 \
  --network default --no-assign-ip

or

# assigned Public IP (can be access from outside GCP)
gcloud sql instances create gooddata-cn-gcp-pg-public \
  --tier=db-custom-2-7680 --region=europe-west3 --database-version=POSTGRES_12

Make use that you set some initial password for default user (or create new one).

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

You can retrieve required connection properties from service description

gcloud sql instances describe gooddata-cn-gcp-pg

Look for the value of ipAddress, port is 5432 by default

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