2023-10-02 14:50:08 +02:00
---
weight: 2
title: Setup
2023-10-05 12:43:28 +02:00
menu:
docs:
parent: "operator"
weight: 2
2023-11-22 12:59:07 +01:00
aliases:
2024-08-16 16:32:25 +02:00
- /operator/setup/
- /operator/setup/index.html
2023-10-02 14:50:08 +02:00
---
## Installing by helm-charts
You can use one of the following official helm-charts with `vmoperator` :
2024-09-22 18:39:52 +02:00
- [victoria-metrics-operator helm-chart ](https://docs.victoriametrics.com/helm/victoriametrics-operator )
- [victoria-metrics-k8s-stack helm chart ](https://docs.victoriametrics.com/helm/victoriametrics-k8s-stack )
2023-10-02 14:50:08 +02:00
(includes the `victoria-metrics-operator` helm-chart and other components for full-fledged k8s monitoring, is an alternative for [kube-prometheus-stack ](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack )).
For installing VictoriaMetrics operator with helm-chart follow the instructions from README of the corresponding helm-chart
2024-09-22 18:39:52 +02:00
([this](https://docs.victoriametrics.com/helm/victoriametrics-operator)
or [this ](https://docs.victoriametrics.com/helm/victoriametrics-k8s-stack )).
2023-10-02 14:50:08 +02:00
2024-08-21 11:27:42 +02:00
in addition, you can use [quickstart guide ](https://docs.victoriametrics.com/operator/quick-start ) for
2023-10-02 14:50:08 +02:00
installing VictoriaMetrics operator with helm-chart.
2024-08-16 16:32:25 +02:00
## Installing by Manifest
Obtain release from releases page:
[https://github.com/VictoriaMetrics/operator/releases ](https://github.com/VictoriaMetrics/operator/releases )
We suggest use the latest release.
```sh
# Get latest release version from https://github.com/VictoriaMetrics/operator/releases/latest
export VM_VERSION=`basename $(curl -fs -o/dev/null -w %{redirect_url} https://github.com/VictoriaMetrics/operator/releases/latest)`
wget https://github.com/VictoriaMetrics/operator/releases/download/$VM_VERSION/install.yaml
```
Operator use `vm` namespace, but you can install it to specific namespace with command:
```sh
sed -i "s/namespace: vm/namespace: YOUR_NAMESPACE/g" install.yaml
```
and apply it:
```sh
kubectl apply -f install.yaml
```
Check the status of operator
```sh
kubectl get pods -n YOUR_NAMESPACE
#NAME READY STATUS RESTARTS AGE
#vm-operator-667dfbff55-cbvkf 1/1 Running 0 101s
```
2023-10-02 14:50:08 +02:00
## Installing by Kustomize
You can install operator using [Kustomize ](https://kustomize.io/ ) by pointing to the remote kustomization file.
2024-01-27 19:29:11 +01:00
```sh
2023-10-02 14:50:08 +02:00
# Get latest release version from https://github.com/VictoriaMetrics/operator/releases/latest
export VM_VERSION=`basename $(curl -fs -o/dev/null -w %{redirect_url} https://github.com/VictoriaMetrics/operator/releases/latest)`
2024-07-10 16:04:30 +02:00
export NAMESPACE="whatever-namespace"
2023-10-02 14:50:08 +02:00
cat < < EOF > kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
2024-08-16 16:32:25 +02:00
- github.com/VictoriaMetrics/operator/config/base?ref=${VM_VERSION}
2023-10-02 14:50:08 +02:00
2024-07-10 16:04:30 +02:00
namespace: ${NAMESPACE}
2023-10-02 14:50:08 +02:00
images:
2024-08-21 11:27:42 +02:00
- name: manager
newName: victoriametrics/operator
2023-10-02 14:50:08 +02:00
newTag: ${VM_VERSION}
EOF
```
You can change [operator configuration ](#configuring ), or use your custom namespace see [kustomize-example ](https://github.com/YuriKravetc/yurikravetc.github.io/tree/main/Operator/kustomize-example ).
Build template
2024-01-27 19:29:11 +01:00
```sh
2023-10-02 14:50:08 +02:00
kustomize build . -o monitoring.yaml
```
Apply manifests
2024-01-27 19:29:11 +01:00
```sh
2023-10-02 14:50:08 +02:00
kubectl apply -f monitoring.yaml
```
Check the status of operator
2024-01-27 19:29:11 +01:00
```sh
2024-07-10 16:04:30 +02:00
kubectl get pods -n whatever-namespace
2023-10-02 14:50:08 +02:00
#NAME READY STATUS RESTARTS AGE
#vm-operator-667dfbff55-cbvkf 1/1 Running 0 101s
```
2024-07-10 16:04:30 +02:00
## Installing by OLM
### Installing to K8s
2024-08-16 16:32:25 +02:00
VictoriaMetrics operator OLM package is available at [OperatorHub ](https://operatorhub.io/operator/victoriametrics-operator ).
Installation instructions are available there.
2024-07-10 16:04:30 +02:00
### Installing to Openshift
2024-08-16 16:32:25 +02:00
Create `Subscription` manifest with `installPlanApproval` set to `Manual` to prevent unexpected upgrades.
```yaml
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: victoriametrics-operator
namespace: vm
spec:
channel: beta
installPlanApproval: Manual
name: victoriametrics-operator
source: community-operators
sourceNamespace: openshift-marketplace
startingCSV: victoriametrics-operator.v0.46.4
```
Apply manifest
```shell
oc apply -f manifest.yaml
```
After some time operator should be up and running in `vm` namespace
```shell
oc get pods -n vm
```
2024-07-10 16:04:30 +02:00
### Run locally
It's possible to build and run OLM package locally on Kind K8s cluster using `make deploy-kind-olm` .
Command builds operator image, bundle and index images, runs Kind with a local registry and deploys OLM package to Kind.
2023-10-02 14:50:08 +02:00
## Installing to ARM
There is no need in an additional configuration for ARM. Operator and VictoriaMetrics have full support for it.
## Configuring
2024-08-16 16:32:25 +02:00
You can read detailed instructions about operator configuring in [this document ](https://docs.victoriametrics.com/operator/configuration ).