Export the GOOGLE_APPLICATION_CREDENTIALS environment variable, containing the path to your GCP credentials file (e.g. export GOOGLE_APPLICATION_CREDENTIALS=~/.config/gcloud/myproject-8a41417a968a.json)
If you haven't done so already, enable the Kubernetes Engine API in your GCP project (here)
Spin up Cortex on your GCP account
# install the CLIpipinstallcortex# spin up Cortex on your GCP accountcortexcluster-gcpup# or: cortex cluster-gcp up --config cluster.yaml (see configuration options below)
Configure Cortex
# cluster.yaml# GKE cluster namecluster_name:cortex# GCP project IDproject:<your GCP project ID># GCP zone for your clusterzone:us-central1-a# instance typeinstance_type:n1-standard-2# minimum number of instancesmin_instances:1# maximum number of instancesmax_instances:5# enable the use of preemptible instancespreemptible:false# enable the use of on-demand backup instances which will be used when preemptible capacity runs out# default is true when preemptible instances are used# on_demand_backup: true# GPU to attach to your instance (optional)# accelerator_type: nvidia-tesla-t4# the number of GPUs to attach to each instance (optional)# accelerators_per_instance: 1# the name of the network in which to create your cluster# network: default# the name of the subnetwork in which to create your cluster# subnet: default# API load balancer scheme [internet-facing | internal]api_load_balancer_scheme:internet-facing# operator load balancer scheme [internet-facing | internal]# note: if using "internal", you must be within the cluster's VPC or configure VPC Peering to connect your CLI to your cluster operatoroperator_load_balancer_scheme:internet-facing
The docker images used by the Cortex cluster can also be overridden, although this is not common. They can be configured by adding any of these keys to your cluster configuration file (default values are shown):