Skip to content

Deploy Okera Using Helm Charts

Okera is provided as a set of Docker images that run as containers in managed Kubernetes environments, such AWS Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), or Google Kubernetes Engine (GKE). You can use Helm charts, a Kubernetes package manager, to deploy and configure your Okera cluster in any of these Kubernetes environments. For more information about Helm, see the Helm documentation.

Prerequisites

The following prerequisites must be met before you attempt to deploy Okera using Helm charts.

  1. Kubernetes and its kubectl utility must be installed if they are not already installed in your environment. Okera deployments using versions of Kubernetes up to 1.23 have been tested. See the Kubernetes documentation for AWS EKS, AKS, or GKE, as appropriate for your environment.

  2. Helm must be installed if it is not already installed. Okera deployments support using Helm client version 3.7.1. See Installing Helm.

  3. The Kubernetes user who performs the Okera deployment must be assigned a role that has specific permissions. The Kubernetes admin role has these permissions, but any role will work as long as it includes permissions to create, update, and delete:

    • Secrets
    • ClusterRoles and ClusterRoleBindings
    • ConfigMaps
    • Deployments
    • Services
    • Pods

Identify the role and associated user in your Kubernetes environment before you start the deployment.

Deployment Steps

When all prerequisites have been met, complete the following deployment steps.

Step 1. Set Up Authorization

Before you can deploy Okera using Helm charts, you must update the Kubernetes kubeconfig file with appropriate user credentials so you can use Helm to deploy and manage your Okera cluster. The method by which you do this varies, based on the environment you are using.

Each of these updates a kubeconfig file in the appropriate environment with appropriate credentials and endpoint information to point kubectl to a specific cluster.

Step 2. Add the Okera Helm Charts Repository to Your Helm Repository List

Create the Helm repository for Okera. By default, this repository is named okera.

To add a Helm repository specifically for Okera (called okera), run the following Helm command:

$ helm repo add okera https://charts.okeracloud.io/stable

When you are finished, you can verify the presence of the repository by running the following Helm command:

$ helm search repo okera

Step 3. Download and Unzip the Okera Helm Chart

To download and unzip the Okera Helm chart, run the following command.

$ helm fetch okera/okera-cluster --untar

Step 4. Modify the values.yaml File for Your Environment

Change to the okera-cluster chart directory and edit the values.yaml file. This is the configuration file for your Okera cluster.

$ cd okera-cluster
$ vi values.yaml

The configuration file stores settings for your Okera cluster. For more information, see The Configuration File.

Step 5. Apply the Helm Chart

Apply the Helm chart to install the Okera instance. Run the following command:

$ helm install okera . -f values.yaml 

To verify the cluster is running, run kubectl get pods or watch kubectl get pods. These Kubernetes CLI commands allow you to veiw the current status of the Okera cluster's pods or watch the status of the pods as they change.

Update a Helm-Deployed Cluster

To update a Helm-deployed Okera cluster, modify the values.yaml file in the Helm chart and run the following Helm command:

$ helm upgrade --install okera . -f values.yaml

For complete information about the values.yaml file, see The Okera Configuration File.

Uninstall a Helm-Deployed Cluster

To uninstall a Helm-deployed cluster:

  1. Run $ helm list to view the full cluster name. The output from this command looks like this: ``` NAME NAMESPACE REVISION okera-cluster-1659661183 default 1

  2. Copy the full name of the cluster and run the following Helm command:

    $ helm uninstall okera-cluster-1659661183 --namespace default
    

    This removes the specific application of the Okera cluster.