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
Note
You will need the connection properties during the Helm Chart Installation.
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
Note
You will need the connection properties during the Helm Chart Installation.