victoriametrics 部署
添加helm仓库
代码语言:javascript代码运行次数:0运行复制helm repo add vm /
helm repo update
搜索victoriametrics仓库
代码语言:javascript代码运行次数:0运行复制helm search repo vm/
代码语言:javascript代码运行次数:0运行复制NAME CHART VERSION APP VERSION DESCRIPTION
vm/victoria-logs-single 0.9.2 v1.14.0 Victoria Logs Single version - high-performance...
vm/victoria-metrics-agent 0.17.0 v1.113.0 Victoria Metrics Agent - collects metrics from ...
vm/victoria-metrics-alert 0.15.0 v1.113.0 Victoria Metrics Alert - executes a list of giv...
vm/victoria-metrics-anomaly 1.8.0 v1.20.0 Victoria Metrics Anomaly Detection - a service ...
vm/victoria-metrics-auth 0.10.0 v1.113.0 Victoria Metrics Auth - is a simple auth proxy ...
vm/victoria-metrics-cluster 0.19.0 v1.113.0 Victoria Metrics Cluster version - high-perform...
vm/victoria-metrics-common 0.0.41 Victoria Metrics Common - contains shared templ...
vm/victoria-metrics-distributed 0.9.0 v1.113.0 A Helm chart for Running VMCluster on Multiple ...
vm/victoria-metrics-gateway 0.8.0 v1.113.0 Victoria Metrics Gateway - Auth & Rate-Limittin...
vm/victoria-metrics-k8s-stack 0.39.0 v1.113.0 Kubernetes monitoring on VictoriaMetrics stack....
vm/victoria-metrics-operator 0.43.0 v0.54.1 Victoria Metrics Operator
vm/victoria-metrics-single 0.15.0 v1.113.0 Victoria Metrics Single version - high-performa...
拉取victoria-metrics-operator的chart包
代码语言:javascript代码运行次数:0运行复制helm pull vm/victoria-metrics-operator
如果遇到如下问题,说明需要科学上网,下载victoria-metrics-operator-0.43.0.tgz
压缩包
Error: Get ".43.0/victoria-metrics-operator-0.43.0.tgz": read tcp 10.0.2.21:36530->20.205.243.166:443: read: connection reset by peer
安装victoria-metrics-operator
创建命名空间
代码语言:javascript代码运行次数:0运行复制kubectl create namespace vmtrics-monitor
代码语言:javascript代码运行次数:0运行复制tar -xvf victoria-metrics-operator-0.43.0.tgz
cd victoria-metrics-operator-0.43.0
helm install vmoperator . -f values.yaml -n vmtrics-monitor
如果已经可以科学上网可以直接使用如下命令:
代码语言:javascript代码运行次数:0运行复制helm install vmoperator vm/victoria-metrics-operator -f values.yaml -n vmtrics-monitor
安装成功提示
代码语言:javascript代码运行次数:0运行复制NOTES:
victoria-metrics-operator has been installed. Check its status by running:
kubectl --namespace vmtrics-monitor get pods -l "app.kubernetes.io/instance=vmoperator"
Get more information on .
See "Getting started guide for VM Operator" on
这个helm install vmoperator . -f values.yaml -n vmtrics-monitor
执行后,需要等待一定的时间。检查victoria-metrics-operator是否启动成功
kubectl --namespace vmtrics-monitor get pods -l "app.kubernetes.io/instance=vmoperator"
大概会出现以下错误,是因为拉取不到镜像失败
代码语言:javascript代码运行次数:0运行复制NAME READY STATUS RESTARTS AGE
vmoperator-victoria-metrics-operator-5b8dc96466-zcc2g 0/1 ImagePullBackOff 0 13m
通过以下地址搜索国内镜像
代码语言:javascript代码运行次数:0运行复制/
修改values.yaml文件
代码语言:javascript代码运行次数:0运行复制image:
# -- Image registry
registry: ""
# -- Image repository
repository: swr-north-4.myhuaweicloud/ddn-k8s/docker.io/victoriametrics/operator #修改镜像仓库
# -- Image tag
# override Chart.AppVersion
tag: "v0.53.0" #修改镜像tag
再次参考安装情况
代码语言:javascript代码运行次数:0运行复制helm list --all-namespaces
kubectl get all -n vmtrics-monitor
显示结果
代码语言:javascript代码运行次数:0运行复制[root@mk8s-master op]# helm list --all-namespaces
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
vmoperator vmtrics-monitor 1 2025-03-14 17:02:58.383908049 +0800 CST deployed victoria-metrics-operator-0.43.0 v0.54.1
[root@mk8s-master op]# kubectl get all -n vmtrics-monitor
NAME READY STATUS RESTARTS AGE
pod/vmoperator-victoria-metrics-operator-684997574c-5sll5 1/1 Running 0 5m30s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/vmoperator-victoria-metrics-operator ClusterIP 10.106.48.186 <none> 8080/TCP,9443/TCP 5m30s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/vmoperator-victoria-metrics-operator 1/1 1 1 5m30s
NAME DESIRED CURRENT READY AGE
replicaset.apps/vmoperator-victoria-metrics-operator-684997574c 1 1 1 5m30s
安装victoria-metrics相关组件
创建文件vmcluster.yaml
代码语言:javascript代码运行次数:0运行复制apiVersion: operator.victoriametrics/v1beta1
kind: VMCluster
metadata:
name: demo
namespace: vmtrics-monitor
spec:
retentionPeriod: "1"
replicationFactor: 2
vmstorage:
image:
repository: swr-north-4.myhuaweicloud/ddn-k8s/docker.io/victoriametrics/vmstorage
tag: v1.110.0-cluster
pullPolicy: Always
replicaCount: 1
storageDataPath: "/vm-data"
storage:
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
storageClassName: nfs-sc
resources:
requests:
storage: "1Gi"
resources:
limits:
cpu: "1"
memory: "1Gi"
vmselect:
image:
repository: swr-north-4.myhuaweicloud/ddn-k8s/docker.io/victoriametrics/vmselect
tag: v1.110.0-cluster
pullPolicy: Always
replicaCount: 1
cacheMountPath: "/select-cache"
storage:
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
storageClassName: nfs-sc
resources:
requests:
storage: "1Gi"
resources:
limits:
cpu: "1"
memory: "1Gi"
requests:
cpu: "0.5"
memory: "500Mi"
vminsert:
image:
repository: swr-north-4.myhuaweicloud/ddn-k8s/docker.io/victoriametrics/vminsert
tag: v1.110.0-cluster
pullPolicy: Always
replicaCount: 1
resources:
limits:
cpu: "1"
memory: "1Gi"
requests:
cpu: "0.5"
memory: "500Mi"
部署组件
代码语言:javascript代码运行次数:0运行复制kubectl apply -f vmcluster.yaml
查看组件部署结果
代码语言:javascript代码运行次数:0运行复制kubectl get pods -n vmtrics-monitor -l "app.kubernetes.io/instance=my-vm"
Scraping
安装VMAgent
创建vmagent.yaml
代码语言:javascript代码运行次数:0运行复制apiVersion: operator.victoriametrics/v1beta1
kind: VMAgent
metadata:
name: demo
namespace: vmtrics-monitor
spec:
image:
repository: swr-north-4.myhuaweicloud/ddn-k8s/docker.io/victoriametrics/vmagent
tag: v1.110.0
pullPolicy: Always
selectAllByDefault: true
remoteWrite:
- url: ":8480/insert/0/prometheus/api/v1/write"
部署vmagent.yaml
代码语言:javascript代码运行次数:0运行复制kubectl apply -f vmagent.yaml
查看是否启动
代码语言:javascript代码运行次数:0运行复制kubectl get pods -n vmtrics-monitor -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.io/name=vmagent"
代码语言:javascript代码运行次数:0运行复制kubectl port-forward svc/vmagent-demo 8429:8429 -n vmtrics-monitor
vmagent-service.yaml
代码语言:javascript代码运行次数:0运行复制apiVersion: v1
kind: Service
metadata:
name: vmagent-demo-nodeport
namespace: vm
spec:
ports:
- name: http
port: 8429
protocol: TCP
targetPort: 8429
selector:
app.kubernetes.io/component: monitoring
app.kubernetes.io/instance: demo
app.kubernetes.io/name: vmagent
type: NodePort
安装VMServiceScrape
创建vmservicescrape.yaml
代码语言:javascript代码运行次数:0运行复制apiVersion: operator.victoriametrics/v1beta1
kind: VMServiceScrape
metadata:
name: vmoperator-demo
namespace: vmtrics-monitor
spec:
selector:
matchLabels:
app.kubernetes.io/instance: vmoperator
app.kubernetes.io/name: victoria-metrics-operator
namespaceSelector:
matchNames:
- vmtrics-monitor
endpoints:
- port: http
部署vmservicescrape.yaml
代码语言:javascript代码运行次数:0运行复制kubectl apply -f vmservicescrape.yaml
查看结果
代码语言:javascript代码运行次数:0运行复制kubectl get VMServiceScrape -n vmtrics-monitor
Access
VMAuth
创建vmauth.yaml
代码语言:javascript代码运行次数:0运行复制apiVersion: operator.victoriametrics/v1beta1
kind: VMAuth
metadata:
name: demo
namespace: vmtrics-monitor
labels:
app: vmauth-demo
spec:
image:
repository: swr-north-4.myhuaweicloud/ddn-k8s/docker.io/victoriametrics/vmauth
tag: v1.108.1
pullPolicy: Always
selectAllByDefault: true
userNamespaceSelector: {}
userSelector: {}
部署
代码语言:javascript代码运行次数:0运行复制kubectl apply -f vmauth.yaml
查看
代码语言:javascript代码运行次数:0运行复制kubectl get svc -n vmtrics-monitor | grep vmauth-demo
转发
代码语言:javascript代码运行次数:0运行复制kubectl port-forward svc/vmauth-demo 8427:8427 -n vmtrics-monitor
vmauth-service.yaml
代码语言:javascript代码运行次数:0运行复制apiVersion: v1
kind: Service
metadata:
name: vmauth-demo-nodeport
namespace: vm
spec:
ports:
- name: http
port: 8427
protocol: TCP
targetPort: 8427
selector:
app.kubernetes.io/component: monitoring
app.kubernetes.io/instance: demo
app.kubernetes.io/name: vmauth
type: NodePort
VMUser
创建vmuser.yaml
代码语言:javascript代码运行次数:0运行复制apiVersion: operator.victoriametrics/v1beta1
kind: VMUser
metadata:
name: demo
namespace: vmtrics-monitor
spec:
name: demo
username: demo
generatePassword: true
targetRefs:
# vmui + vmselect
- crd:
kind: VMCluster/vmselect
name: demo
namespace: vmtrics-monitor
target_path_suffix: "/select/0"
paths:
- "/vmui"
- "/vmui/.*"
- "/prometheus/api/v1/query"
- "/prometheus/api/v1/query_range"
- "/prometheus/api/v1/series"
- "/prometheus/api/v1/status/.*"
- "/prometheus/api/v1/label/"
- "/prometheus/api/v1/label/[^/]+/values"
部署
代码语言:javascript代码运行次数:0运行复制kubectl apply -f vmauth.yaml
查看是否部署成功
代码语言:javascript代码运行次数:0运行复制kubectl get secret -n vmtrics-monitor -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.io/name=vmuser"
查看密码
代码语言:javascript代码运行次数:0运行复制kubectl get secret -n vm vmuser-demo -o jsonpath="{.data.password}" | base64 --decode
代码语言:javascript代码运行次数:0运行复制参考:
/
.html
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-03-23,如有侵权请联系 cloudcommunity@tencent 删除部署镜像iometricsmonitor
发布评论