Installing by helm-charts #
You can use one of the following official helm-charts with vmoperator
:
- victoria-metrics-operator helm-chart
- victoria-metrics-k8s-stack helm chart
(includes the
victoria-metrics-operator
helm-chart and other components for full-fledged k8s monitoring, is an alternative for kube-prometheus-stack).
For installing VictoriaMetrics operator with helm-chart follow the instructions from README of the corresponding helm-chart (this or this).
in addition, you can use quickstart guide for installing VictoriaMetrics operator with helm-chart.
Installing by Manifest #
Obtain release from releases page: https://github.com/VictoriaMetrics/operator/releases
We suggest use the latest release.
# 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)`
# Download manifest with webhook (requires CertManager to be preinstalled)
wget -O install.yaml https://github.com/VictoriaMetrics/operator/releases/download/$VM_VERSION/install-with-webhook.yaml
# Or download manifest without webhook
wget -O install.yaml https://github.com/VictoriaMetrics/operator/releases/download/$VM_VERSION/install-without-webhook.yaml
Operator use vm
namespace, but you can install it to specific namespace with command:
sed -i "s/namespace: vm/namespace: YOUR_NAMESPACE/g" install.yaml
and apply it:
kubectl apply -f install.yaml
Check the status of operator
kubectl get pods -n YOUR_NAMESPACE
#NAME READY STATUS RESTARTS AGE
#vm-operator-667dfbff55-cbvkf 1/1 Running 0 101s
Installing by Kustomize #
You can install operator using Kustomize by pointing to the remote kustomization file.
# 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)`
export NAMESPACE="whatever-namespace"
# Overlay "base-with-webhook" installs operator with webhook (requires CertManager to be preinstalled). Replace "base-with-webhook" with "default"
export OVERLAY="base-with-webhook"
cat << EOF > kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- github.com/VictoriaMetrics/operator/config/${OVERLAY}?ref=${VM_VERSION}
namespace: ${NAMESPACE}
images:
- name: manager
newName: victoriametrics/operator
newTag: ${VM_VERSION}
EOF
You can change operator configuration, or use your custom namespace see kustomize-example.
Build template
kustomize build . -o monitoring.yaml
Apply manifests
kubectl apply -f monitoring.yaml
Check the status of operator
kubectl get pods -n whatever-namespace
#NAME READY STATUS RESTARTS AGE
#vm-operator-667dfbff55-cbvkf 1/1 Running 0 101s
Installing by OLM #
Installing to K8s #
VictoriaMetrics operator OLM package is available at OperatorHub. Installation instructions are available there.
Installing to Openshift #
Create Subscription
manifest with installPlanApproval
set to Manual
to prevent unexpected upgrades.
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
oc apply -f manifest.yaml
After some time operator should be up and running in vm
namespace
oc get pods -n vm
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.
Installing to ARM #
There is no need in an additional configuration for ARM. Operator and VictoriaMetrics have full support for it.
Configuring #
You can read detailed instructions about operator configuring in this document.