- Getting Started with Helm describes how to install and configure Helm on a client host.
- Deploying NuoDB using Helm Charts describes how to deploy a NuoDB database using the Helm charts.
This section provides instructions to install and configure Helm in your client environment. If using Red Hat OpenShift, confirm the OpenShift oc
client program is installed locally and that you are logged into your OpenShift instance. In some cases, required security settings are documented.
Please visit the NuoDB Helm Chart main page for software version prerequisites.
NuoDB Helm Charts and their privilege requirements:
Helm Charts | Privilege | Short Explanation |
---|---|---|
transparent-hugepage | allowHostDirVolumePlugin: true |
To mount hostPath and disable THP on host |
transparent-hugepage | volumes.hostPath |
To mount hostPath and disable THP on host |
transparent-hugepage | seLinuxContext.* |
To mount hostPath and disable THP on host |
admin, database | allowedCapabilities.FOWNER |
To change directory ownership in PV to the nuodb process |
admin, database | defaultAddCapabilities.FOWNER |
To change directory ownership in PV to the nuodb process |
If you are planning to install Helm 2, please follow the official Helm 2 docs.
Use the Brew package manager:
brew install helm
Alternatively, you can also use the MacPorts package manager:
sudo port install helm-3.6
sudo port select --set helm helm3.6
Every release of Helm provides binary releases for a variety of OSes.
- Download your desired version
- Unpack it (
tar -zxvf helm-${helm-version}-linux-amd64.tgz
)
This example uses Helm version 3.2.4, which can be downloaded via https://github.com/kubernetes/helm/releases/tag/v3.2.4.
Run the following commands to install the Helm locally on your Linux client machine:
curl -s https://storage.googleapis.com/kubernetes-helm/helm-3.2.4-linux-amd64.tar.gz | tar xz
cd linux-amd64
Move the Helm binaries to /usr/local/bin
:
mv helm /usr/local/bin
The results should be as follows:
$ helm version
version.BuildInfo{Version:"v3.2.4", GitCommit:"0ad800ef43d3b826f31a5ad8dfbb4fe05d143688", GitTreeState:"dirty", GoVersion:"go1.14.3"}
The following section outlines the steps in order to deploy a NuoDB database using this Helm Chart repository.
kubectl create namespace nuodb
Each Helm Chart has a default values.yaml parameter file that contains configuration parameters specific to that chart. The configuration is structured where configuration values are implemented following a single-definition rule, that is, values are structured and scoped, and shared across charts; e.g. for admin, its parameters are specified once in a single values file which is used for all the charts, and the database chart can use admin values for configuring connectivity of engines to a specific admin process. The same goes for other values shared amongst Helm charts. A few key points here:
- values files have structure, values are scoped
- different values files for different deployments
- values files follow the single definition rule (no repeats)
- global configuration exists under its own scoped section
- each chart has its own scoped section named after it
- cloud information is used to drive availability zones (particularly)
- Disable Linux Transparent Huge Pages(THP) on all cluster nodes that will host NuoDB pods.
Disable transparent-hugepage (Instructions)
- Optionally, create additional storage classes for use when configuring NuoDB persistent storage. You can also use persistent storage without using the Storage Classes Chart. See the chart documentation for existing options:
Storage Classes (Instructions)
- Install NuoDB License. To obtain the license file required to deploy NuoDB with a Limited License, contact [email protected].
NuoDB License (Instructions)
- Install the NuoDB Admin domain administrative tier
NuoDB Admin (Instructions)
- Install the NuoDB database Storage Manager (SM) and Transaction Engine (TE) components
NuoDB Database (Instructions)
- Optionally, install NuoDB Insights visual monitoring into your deployment environment. NuoDB Insights displays real-time and historical performance data graphically to assist you with workload and/or root-cause analysis. Installing NuoDB Insights is highly recommended.
NuoDB Insights (Instructions)
See the instructions for the individual charts for deleting the applications. An alternative cleanup strategy is to delete the entire project:
kubectl delete namespace nuodb