Deploying on GKE¶
This document will guide you through installing ODAS on a GKE cluster. You will walk through the following steps:
- Verifying you have access to your GKE cluster.
- Downloading and unpacking
- Deploying a base unconfigured ODAS cluster.
- Updating the configuration of your cluster.
- A functional GKE cluster that adheres to the ODAS Prerequisites.
- A Linux node that can execute
kubectlcommands against the GKE cluster - we will call this the
Verify GKE Access¶
deployer node, you can verify you have GKE access by running:
$ kubectl get nodes -owide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME gke-cluster-1-odas-default-309f3494-chhm Ready <none> 10m v1.15.12-gke.6002 10.128.0.12 188.8.131.52 Container-Optimized OS from Google 4.19.112+ docker://19.3.1 gke-cluster-1-odas-default-309f3494-d1vl Ready <none> 20d v1.15.12-gke.6002 10.128.0.10 184.108.40.206 Container-Optimized OS from Google 4.19.112+ docker://19.3.1 gke-cluster-1-odas-default-309f3494-t7m0 Ready <none> 10m v1.15.12-gke.6002 10.128.0.11 220.127.116.11 Container-Optimized OS from Google 4.19.112+ docker://19.3.1
You should see all the nodes that you have in your GKE cluster listed.
Choosing a Region¶
Okera provides the installation files in three locations, US West, US East, and EU West. You should modify the links shown below choosing the region closest to you by replacing the S3 base URL, while leaving the rest of the URL path as given in the examples on this page.
The base links for the available regions are:
For example, for the download link of the ODAS command-line tool (explained in the next section) in the US East region, combine the S3 base URL for the region with the path of the installation resource, including the ODAS version number:
https://okera-release-useast.s3.amazonaws.com/2.7.0/gravity/okctl.tar |---------------- Base URL -----------------||---- Resource Path ----|
deployer node, we will be downloading
okctl and the ODAS Kubernetes resource files.
Run the following commands to create a directory and then download and unpack
okctl in it:
$ mkdir odas && cd odas $ curl -O https://okera-release-uswest.s3.amazonaws.com/2.7.0/gravity/okctl.tar $ tar xvf okctl.tar
We can verify we have a functional
okctl binary by running:
$ ./okctl version 2.7.0 $ ./okctl --help usage: okctl [<flags>] <command> [<args> ...] the ODAS Controller Flags: --help Show context-sensitive help (also try --help-long and --help-man). -v, --debug Show debug output (WARNING: this will output sensitive information to your shell) --kubeconfig=KUBECONFIG Kubernetes config to use --cluster=CLUSTER Kubernetes cluster to use as defined in KUBECONFIG --context=CONTEXT Kubernetes context to use as defined in KUBECONFIG --namespace=NAMESPACE Kubernetes namespace to use -o, --output=OUTPUT Format to print output in --auth-dir=".auth" Location for auth related files Commands: help [<command>...] Show help. ...
Below instructions will assume that you are executing commands from within the folder we created above.
To deploy ODAS, run:
$ ./okctl deploy --arch gcp 2019/08/26 16:26:08 Deploying 'resources/kubernetes/gcp/00-roles.yaml'... 2019/08/26 16:26:09 Deployed successfully 2019/08/26 16:26:09 Deploying 'resources/kubernetes/gcp/01-secrets.yaml'... 2019/08/26 16:26:10 Deployed successfully 2019/08/26 16:26:10 Deploying 'resources/kubernetes/gcp/02-config.yaml'... 2019/08/26 16:26:11 Deployed successfully 2019/08/26 16:26:11 Deploying 'resources/kubernetes/gcp/03-services.yaml'... 2019/08/26 16:26:12 Deployed successfully 2019/08/26 16:26:12 Deploying 'resources/kubernetes/gcp/04-canary.yaml'... 2019/08/26 16:26:13 Deployed successfully 2019/08/26 16:26:13 Deploying 'resources/kubernetes/gcp/05-zookeeper.yaml'... 2019/08/26 16:26:14 Deployed successfully 2019/08/26 16:26:14 Deploying 'resources/kubernetes/gcp/06-catalog.yaml'... 2019/08/26 16:26:15 Deployed successfully 2019/08/26 16:26:15 Deploying 'resources/kubernetes/gcp/07-planner.yaml'... 2019/08/26 16:26:16 Deployed successfully 2019/08/26 16:26:16 Deploying 'resources/kubernetes/gcp/08-worker.yaml'... 2019/08/26 16:26:17 Deployed successfully 2019/08/26 16:26:17 Deploying 'resources/kubernetes/gcp/09-rest-server.yaml'... 2019/08/26 16:26:17 Deployed successfully 2019/08/26 16:26:17 Deploying 'resources/kubernetes/gcp/10-presto.yaml'... 2019/08/26 16:26:18 Deployed successfully
The files in
resources/kubernetes/gcp are self-contained Kubernetes resource files, and you can deploy them yourself using your preferred Kubernetes tooling, including using
kubectl apply -f.
This deploys a base version of ODAS on your GKE cluster that is not configured: no authentication is set up and all state is being persisted locally.
Configuring Your ODAS Cluster¶
ODAS clusters use a YAML configuration file, which you can learn more about here.
You can update the configuration of your cluster using
To deploy the Quickstart configuration, which will add authentication and SSL:
$ ./okctl update --config configs/config-quickstart.yaml
You can copy this file (or the other example configuration files in the
configs/ directory) and modify them for your deployment, and then apply them using