Astarte Kubernetes Operator
Astarte Kubernetes Operator runs and manages an Astarte Cluster in a Kubernetes Cluster. It is meant to
work on any Managed Kubernetes installation, and leverages a number of Kubernetes features to ensure
Astarte runs as smooth as possible. It also handles upgrades, monitoring, and more.
Astarte Operator is the foundation of any Astarte installation, and you can find more information about it
and how to use it once installed in the
Astarte Administration guide.
Getting started
The preferred way to install and manage Astarte Operator leverages its Helm
chart.
Astarte Operator requires cert-manager
(>= v1.1
) to be installed in the
cluster in its default configuration. If you are using cert-manager
in your cluster already you
don't need to take any action - otherwise, you will need to install it. A complete overview on
prerequisites can be found
here.
To install cert-manager
simply run:
helm repo add jetstack https://charts.jetstack.io
helm repo update
kubectl create namespace cert-manager
helm install \
cert-manager jetstack/cert-manager \
--namespace cert-manager \
--version v1.1.0 \
--set installCRDs=true
Installing the operator is as simple as:
helm repo add astarte https://helm.astarte-platform.org
helm repo update
helm install astarte-operator astarte/astarte-operator
These instructions will take care of installing all needed components for the Operator to run. This
includes all the RBAC roles, Custom Resource Definitions, Webhooks, and the Operator itself.
Moreover, Helm is responsible for upgrading the Astarte Operator. To do so, run:
helm upgrade astarte-operator astarte/astarte-operator
If you are interested in having a deeper understanding on how the Astarte Operator works you should
follow the Astarte Administration
guide in Astarte's
Documentation.
What's next?
Once your Astarte Operator is up and running in your cluster, it will be time to deploy your Astarte
instance! All you have to do is Setting up the
Cluster as described in
Astarte's Documentation.
Kubernetes support
Kubernetes Version |
Supported |
Tested by CI |
v1.11.x |
❌ |
❌ |
v1.12.x |
❌ |
❌ |
v1.13.x |
❌ |
❌ |
v1.14.x |
❌ |
❌ |
v1.15.x |
❌ |
❌ |
v1.16.x |
✅ |
✅ |
v1.17.x |
✅ |
✅ |
v1.18.x |
✅ |
✅ |
v1.19.x |
🔶 |
❌ |
Key:
- ✅ : Supported and stable
- 🔶 : Partially supported / known to run in production, but not being targeted by the release.
- ❌ : Not supported. Run at your own risk
Development
Astarte's Operator is written in Go and built upon Operator
SDK. It depends on Go 1.15.x, and requires Go
Modules.