diff --git a/docs/operator/resources/README.md b/docs/operator/resources/README.md index c84d688e46..be511f3331 100644 --- a/docs/operator/resources/README.md +++ b/docs/operator/resources/README.md @@ -134,6 +134,17 @@ Every custom resource with deployable application has a fields for specifying ve - [Managing versions for VMCluster](./vmcluster.md#version-management) - [Managing versions for VMSingle](./vmsingle.md#version-management) +## Managing resources + +Every custom resource with deployable application has a fields and operator parameters for specifying resources for the component: + +- [Managing versions for VMAgent](./vmagent.md#resource-management) +- [Managing versions for VMAlert](./vmalert.md#resource-management) +- [Managing versions for VMAlertmanager](./vmalertmanager.md#resource-management) +- [Managing versions for VMAuth](./vmauth.md#resource-management) +- [Managing versions for VMCluster](./vmcluster.md#resource-management) +- [Managing versions for VMSingle](./vmsingle.md#resource-management) + ## High availability VictoriaMetrics operator support high availability for each component of the monitoring stack: diff --git a/docs/operator/resources/vmagent.md b/docs/operator/resources/vmagent.md index 11f45215cd..45c6176322 100644 --- a/docs/operator/resources/vmagent.md +++ b/docs/operator/resources/vmagent.md @@ -612,6 +612,47 @@ spec: # ... ``` +## Resource management + +You can specify resources for each `VMAgent` resource in the `spec` section of the `VMAgent` CRD. + +```yaml +apiVersion: operator.victoriametrics.com/v1beta1 +kind: VMAgent +metadata: + name: vmagent-resources-example +spec: + # ... + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" + # ... +``` + +If these parameters are not specified, then, +by default all `VMAgent` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): + +- `VM_VMAGENTDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMAgent` pods, +- `VM_VMAGENTDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMAgent` pods, +- `VM_VMAGENTDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMAgent` pods, +- `VM_VMAGENTDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMAgent` pods. + +These default parameters will be used if: + +- `VM_VMAGENTDEFAULT_USEDEFAULTRESOURCES` is set to `true` (default value), +- `VMAgent` CR doesn't have `resources` field in `spec` section. + +Field `resources` in vmagent spec have higher priority than operator parameters. + +If you set `VM_VMAGENTDEFAULT_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VMAgent` CRD, +then `VMAgent` pods will be created without resource requests and limits. + +Also, you can specify requests without limits - in this case default values for limits will not be used. + ## Enterprise features VMAgent supports feature [Kafka integration](https://docs.victoriametrics.com/vmagent.html#kafka-integration) diff --git a/docs/operator/resources/vmalert.md b/docs/operator/resources/vmalert.md index a8f5151bc4..74ee3320aa 100644 --- a/docs/operator/resources/vmalert.md +++ b/docs/operator/resources/vmalert.md @@ -255,6 +255,47 @@ spec: # ... ``` +## Resource management + +You can specify resources for each `VMAlert` resource in the `spec` section of the `VMAlert` CRD. + +```yaml +apiVersion: operator.victoriametrics.com/v1beta1 +kind: VMAlert +metadata: + name: vmalert-resources-example +spec: + # ... + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" + # ... +``` + +If these parameters are not specified, then, +by default all `VMAlert` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): + +- `VM_VMALERTDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMAlert` pods, +- `VM_VMALERTDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMAlert` pods, +- `VM_VMALERTDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMAlert` pods, +- `VM_VMALERTDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMAlert` pods. + +These default parameters will be used if: + +- `VM_VMALERTDEFAULT_USEDEFAULTRESOURCES` is set to `true` (default value), +- `VMAlert` CR doesn't have `resources` field in `spec` section. + +Field `resources` in `VMAlert` spec have higher priority than operator parameters. + +If you set `VM_VMALERTDEFAULT_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VMAlert` CRD, +then `VMAlert` pods will be created without resource requests and limits. + +Also, you can specify requests without limits - in this case default values for limits will not be used. + ## Enterprise features VMAlert supports features [Reading rules from object storage](https://docs.victoriametrics.com/vmalert.html#reading-rules-from-object-storage) diff --git a/docs/operator/resources/vmalertmanager.md b/docs/operator/resources/vmalertmanager.md index bf7c510035..851f6f687f 100644 --- a/docs/operator/resources/vmalertmanager.md +++ b/docs/operator/resources/vmalertmanager.md @@ -132,7 +132,7 @@ Following rules are applied: - If `configNamespaceSelector` and `configSelector` both undefined, then by default select nothing. With option set - `spec.selectAllByDefault: true`, select all vmalertmanagerconfigs. - If `configNamespaceSelector` defined, `configSelector` undefined, then all vmalertmaangerconfigs are matching at namespaces for given `configNamespaceSelector`. -- If `configNamespaceSelector` undefined, `configSelector` defined, then all vmalertmaangerconfigs at `VMAgent`'s namespaces are matching for given `configSelector`. +- If `configNamespaceSelector` undefined, `configSelector` defined, then all vmalertmaangerconfigs at `VMAlertmanager`'s namespaces are matching for given `configSelector`. - If `configNamespaceSelector` and `configSelector` both defined, then only vmalertmaangerconfigs at namespaces matched `configNamespaceSelector` for given `configSelector` are matching. Here's a more visual and more detailed view: @@ -259,6 +259,47 @@ spec: # ... ``` +## Resource management + +You can specify resources for each `VMAlertManager` resource in the `spec` section of the `VMAlertManager` CRD. + +```yaml +apiVersion: operator.victoriametrics.com/v1beta1 +kind: VMAlertManager +metadata: + name: vmalertmanager-resources-example +spec: + # ... + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" + # ... +``` + +If these parameters are not specified, then, +by default all `VMAlertManager` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): + +- `VM_VMALERTMANAGER_RESOURCE_LIMIT_MEM` - default memory limit for `VMAlertManager` pods, +- `VM_VMALERTMANAGER_RESOURCE_LIMIT_CPU` - default memory limit for `VMAlertManager` pods, +- `VM_VMALERTMANAGER_RESOURCE_REQUEST_MEM` - default memory limit for `VMAlertManager` pods, +- `VM_VMALERTMANAGER_RESOURCE_REQUEST_CPU` - default memory limit for `VMAlertManager` pods. + +These default parameters will be used if: + +- `VM_VMALERTMANAGER_USEDEFAULTRESOURCES` is set to `true` (default value), +- `VMAlertManager` CR doesn't have `resources` field in `spec` section. + +Field `resources` in `VMAlertManager` spec have higher priority than operator parameters. + +If you set `VM_VMALERTMANAGER_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VMAlertManager` CRD, +then `VMAlertManager` pods will be created without resource requests and limits. + +Also, you can specify requests without limits - in this case default values for limits will not be used. + ## Examples ```yaml diff --git a/docs/operator/resources/vmauth.md b/docs/operator/resources/vmauth.md index 44ca1cdb49..cac3df05cd 100644 --- a/docs/operator/resources/vmauth.md +++ b/docs/operator/resources/vmauth.md @@ -159,6 +159,47 @@ spec: # ... ``` +## Resource management + +You can specify resources for each `VMAuth` resource in the `spec` section of the `VMAuth` CRD. + +```yaml +apiVersion: operator.victoriametrics.com/v1beta1 +kind: VMAuth +metadata: + name: vmauth-resources-example +spec: + # ... + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" + # ... +``` + +If these parameters are not specified, then, +by default all `VMAuth` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): + +- `VM_VMAUTHDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMAuth` pods, +- `VM_VMAUTHDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMAuth` pods, +- `VM_VMAUTHDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMAuth` pods, +- `VM_VMAUTHDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMAuth` pods. + +These default parameters will be used if: + +- `VM_VMAUTHDEFAULT_USEDEFAULTRESOURCES` is set to `true` (default value), +- `VMAuth` CR doesn't have `resources` field in `spec` section. + +Field `resources` in `VMAuth` spec have higher priority than operator parameters. + +If you set `VM_VMAUTHDEFAULT_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VMAuth` CRD, +then `VMAuth` pods will be created without resource requests and limits. + +Also, you can specify requests without limits - in this case default values for limits will not be used. + ## Enterprise features Custom resource `VMAuth` supports feature [IP filters](https://docs.victoriametrics.com/vmauth.html#ip-filters) diff --git a/docs/operator/resources/vmcluster.md b/docs/operator/resources/vmcluster.md index 01063ba30d..69564e76cb 100644 --- a/docs/operator/resources/vmcluster.md +++ b/docs/operator/resources/vmcluster.md @@ -204,6 +204,74 @@ spec: # ... ``` +## Resource management + +You can specify resources for each component of `VMCluster` resource in the `spec` section of the `VMCluster` CRD. + +```yaml +apiVersion: operator.victoriametrics.com/v1beta1 +kind: VMCluster +metadata: + name: vmcluster-resources-example +spec: + # ... + vmstorage: + resources: + requests: + memory: "16Gi" + cpu: "4" + limits: + memory: "16Gi" + cpu: "4" + # ... + vmselect: + resources: + requests: + memory: "16Gi" + cpu: "4" + limits: + memory: "16Gi" + cpu: "4" + # ... + vminsert: + resources: + requests: + memory: "16Gi" + cpu: "4" + limits: + memory: "16Gi" + cpu: "4" + # ... +``` + +If these parameters are not specified, then, +by default all `VMCluster` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): + +- `VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMCluster/vmstorage` pods, +- `VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMCluster/vmstorage` pods, +- `VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMCluster/vmstorage` pods, +- `VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMCluster/vmstorage` pods, +- `VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMCluster/vmselect` pods, +- `VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMCluster/vmselect` pods, +- `VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMCluster/vmselect` pods, +- `VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMCluster/vmselect` pods, +- `VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMCluster/vmselect` pods, +- `VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMCluster/vmselect` pods, +- `VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMCluster/vmselect` pods, +- `VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMCluster/vmselect` pods. + +These default parameters will be used if: + +- `VM_VMCLUSTERDEFAULT_USEDEFAULTRESOURCES` is set to `true` (default value), +- `VMCluster/*` CR doesn't have `resources` field in `spec` section. + +Field `resources` in `VMCluster/*` spec have higher priority than operator parameters. + +If you set `VM_VMCLUSTERDEFAULT_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VMCluster/*` CRD, +then `VMCluste/*r` pods will be created without resource requests and limits. + +Also, you can specify requests without limits - in this case default values for limits will not be used. + ## Enterprise features VMCluster supports following features diff --git a/docs/operator/resources/vmsingle.md b/docs/operator/resources/vmsingle.md index 39e5dbcae8..29b50a068e 100644 --- a/docs/operator/resources/vmsingle.md +++ b/docs/operator/resources/vmsingle.md @@ -71,6 +71,47 @@ spec: # ... ``` +## Resource management + +You can specify resources for each `VMSingle` resource in the `spec` section of the `VMSingle` CRD. + +```yaml +apiVersion: operator.victoriametrics.com/v1beta1 +kind: VMSingle +metadata: + name: vmsingle-resources-example +spec: + # ... + resources: + requests: + memory: "64Mi" + cpu: "250m" + limits: + memory: "128Mi" + cpu: "500m" + # ... +``` + +If these parameters are not specified, then, +by default all `VMSingle` pods have resource requests and limits from the default values of the following [operator parameters](../configuration.md): + +- `VM_VMSINGLEDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMSingle` pods, +- `VM_VMSINGLEDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMSingle` pods, +- `VM_VMSINGLEDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMSingle` pods, +- `VM_VMSINGLEDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMSingle` pods. + +These default parameters will be used if: + +- `VM_VMSINGLEDEFAULT_USEDEFAULTRESOURCES` is set to `true` (default value), +- `VMSingle` CR doesn't have `resources` field in `spec` section. + +Field `resources` in `VMSingle` spec have higher priority than operator parameters. + +If you set `VM_VMSINGLEDEFAULT_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VMSingle` CRD, +then `VMSingle` pods will be created without resource requests and limits. + +Also, you can specify requests without limits - in this case default values for limits will not be used. + ## Enterprise features VMSingle supports features from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise.html#victoriametrics-enterprise): diff --git a/docs/operator/vars.md b/docs/operator/vars.md index 80b6de1089..b481d52431 100644 --- a/docs/operator/vars.md +++ b/docs/operator/vars.md @@ -10,7 +10,7 @@ menu: # Auto Generated vars for package config - updated at Fri Feb 9 10:15:04 UTC 2024 + updated at Wed Feb 21 11:45:46 UTC 2024 | varible name | variable default value | variable required | variable description |