Skip to content

Deploy on Google Cloud Platform

Anders Larsson edited this page Jul 3, 2018 · 31 revisions

This tutorial provides an overview of the steps involved in setting up a CRE on Google cloud platform using command-line.

Note: Please follow Starting a PhenoMeNal CRE on a public or private cloud provider for the general prerequisites for a deployment on a private of public cloud provider.

Google cloud specific prerequisites

Configuration

All of the commands in this documentation are meant to be run in the config directory created by the command below.

Start by creating a configuration directory:

kn --preset phenomenal init gce my-vre-config-dir
cd my-vre-config-dir

Inside this configuration directory you will need to edit the file config.tfvars where you will need to set:

Cluster

  • cluster_prefix: every resource in your tenancy will be named with this prefix

  • gce_credentials_file: path to your service account file

  • gce_region: the zone for your project (e.g. europe-west1-b)

  • gce_project: your project id

Master configuration

  • master_flavor: an instance flavor for the master
  • master_as_edge: master is acting as gateway for accessing services

Node configuration

  • node_count: number of Kubernetes nodes to be created (no floating IP is needed for these nodes)
  • node_flavor: an instance flavor name for the Kubernetes nodes

Gluster configuration

  • glusternode_count: number of egde nodes to be created (1 - 3 depending on preferred replication factor)
  • glusternode_flavor: an instance flavor for the glusternodes
  • glusternode_extra_disk_size: disk size of the fileserver size in GB

Edge configuration (optional)

  • edge_count: number of egde nodes to be created
  • edge_iflavor: an instance flavor for the edge nodes

Cloudflare (optional) - See: KubeNow Cloudflare documentation.

  • use_cloudflare: wether you want to use cloudflare as dns provider
  • cloudflare_email: the mail that you used to register your Cloudflare account
  • cloudflare_token: an authentication token that you can generate from the Cloudflare web interface
  • cloudflare_domain: a zone that you created in your Cloudflare account. This typically matches your domain name (e.g. somedomain.com)

Galaxy - (In the provision sub-section of the config.tfvars config file)

  • galaxy_admin_email: the local galaxy admin (you?)
  • galaxy_admin_password: min 6 characters admin password

Jupyter - (In the provision sub-section of the config.tfvars config file) In the provision-section of the config.tfvars config file

  • jupyter_password: password for your notebook

Kubernetes dashboard - (In the provision sub-section of the config.tfvars config file) In the provision-section of the config.tfvars config file

  • dashboard_username: username to access your kubernetes dashboard
  • dashboard_password: password for your kubernetes dashboard

Pachyderm + Minio (optional) - See: Pachyderm tutorial with MTBLS data

  • pachyderm_release_name: a release name for the Pachyderm service
  • pachyderm_etcd_pvc_size: storage dedicated for etcd (In GB)
  • minio_release_name: release name for the Minio service
  • minio_pvc_size: storage dedicated for the Minio service (In GB)
  • minio_accesskey: access key for the S3 endpoint
  • minio_secretkey: secret key for the S3 endpoint
  • minio_replicas: number of replicas of the Minio service

Once you are done with your settings you are ready to deploy the cluster:

kn apply

when deployment is finished then you should be able to reach the services at:

Galaxy         = http://galaxy.<your-prefix>.<yourdomain>
Jupyter        = http://notebook.<your-prefix>.<yourdomain>
Luigi          = http://luigi.<your-prefix>.<yourdomain>
Kube-dashboard = http://dashboard.<your-prefix>.<yourdomain>
Pachyderm      = ssh into the master node and use pachctl. Pachyderm tutorial: https://github.com/phnmnl/MTBLS233-Pachyderm

and if you want to ssh into the master node:

kn ssh

and to destroy use:

kn destroy

PhenoMeNal help and support

For feedback and help

Clone this wiki locally