Install from Helm charts
Helm is a popular package manager for Kubernetes. A Helm chart is a bundle of parameterizable YAML resources for Kubernetes/OpenShift.
Helm charts can be defined as Operators (if they are packaged using the operator-sdk
), but they are not all Operators.
See the official documentation for Helm on OpenShift.
Install the Helm client
Install Golang
Go lang is required to run Helm. Install go 1.14.4
on Linux, you can find instructions for MacOS, Windows and newer versions at https://golang.org/dl
wget https://dl.google.com/go/go1.14.4.linux-amd64.tar.gz
# Extract to /usr/local
tar -C /usr/local -xzf go1.14.4.linux-amd64.tar.gz
# Add Go to path in .profile
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.profile
# Or in .zshrc if you use ZSH
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.zshrc
Restart your laptop for the changes to take effects or execute
source ~/.profile
Install Helm
You can also use the official documentation to install Helm on your machine.
Install on Linux
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
Install on MacOS
brew install helm
Install on Windows
Install using Chocolatey.
choco install kubernetes-helm
Check Helm installation
helm version
Install a Helm chart
Explore published Helm charts at https://hub.helm.sh ⛵
Start a MySQL database with Helm
Example from the OpenShift 4.3 documentation. See also the official Helm documentation.
- Add the repository of official Helm charts to your local Helm client:
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
- Update the repository:
helm repo update
- Install an example MySQL chart, and start the application named
example-mysql
:
helm install example-mysql stable/mysql
The instructions to retrieve the admin password and connect to the database will be displayed in the terminal.
Retrieve the database password with this command (N.B.: kubectl
can also be used in place of oc
):
oc get secret example-mysql -o jsonpath="{.data.mysql-root-password}" | base64 --decode; echo
- Verify that the chart has installed successfully:
helm list
- Expose the MySQL service as a route:
oc expose service example-mysql
oc get routes
Or port-forward to http://localhost:3306
oc port-forward svc/example-mysql 3306
Uninstall the application
helm uninstall example-mysql
Set deployment parameters
You can also define deployment parameters when installing a Helm chart, such as the service account and node selector.
For example, here we make sure the application will run on DSRI CPU nodes and use the anyuid
service account:
Add Bitnami repository:
helm repo add bitnami https://charts.bitnami.com/bitnami
Install and start Postgresql:
helm install postgresql-db bitnami/postgresql --set nodeSelector.dsri.unimaas.nl/cpu=true --set serviceAccount.name=anyuid