mirror of https://github.com/dapr/docs.git
add resourcequota info for older dapr
Signed-off-by: Filinto Duran <filinto@diagrid.io>
This commit is contained in:
parent
20ae2b2436
commit
9f215ea2b6
|
|
@ -136,7 +136,7 @@ export DAPR_HELM_REPO_PASSWORD="passwd_xxx"
|
||||||
You can run Dapr with three replicas of each control plane pod in the `dapr-system` namespace for [production scenarios]({{< ref kubernetes-production.md >}}).
|
You can run Dapr with three replicas of each control plane pod in the `dapr-system` namespace for [production scenarios]({{< ref kubernetes-production.md >}}).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dapr init -k --enable-ha=true --set global.priorityClassName=system-cluster-critical
|
dapr init -k --enable-ha=true
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Install in custom namespace
|
#### Install in custom namespace
|
||||||
|
|
@ -220,7 +220,7 @@ You can install Dapr on Kubernetes using a Helm v3 chart.
|
||||||
--wait
|
--wait
|
||||||
```
|
```
|
||||||
|
|
||||||
To install in **high availability** mode and **critical** priority class:
|
To install in **high availability** mode:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
helm upgrade --install dapr dapr/dapr \
|
helm upgrade --install dapr dapr/dapr \
|
||||||
|
|
@ -228,7 +228,6 @@ You can install Dapr on Kubernetes using a Helm v3 chart.
|
||||||
--namespace dapr-system \
|
--namespace dapr-system \
|
||||||
--create-namespace \
|
--create-namespace \
|
||||||
--set global.ha.enabled=true \
|
--set global.ha.enabled=true \
|
||||||
--set global.priorityClassName=system-cluster-critical \
|
|
||||||
--wait
|
--wait
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -95,26 +95,49 @@ For a new Dapr deployment, HA mode can be set with both:
|
||||||
|
|
||||||
For an existing Dapr deployment, [you can enable HA mode in a few extra steps]({{< ref "#enabling-high-availability-in-an-existing-dapr-deployment" >}}).
|
For an existing Dapr deployment, [you can enable HA mode in a few extra steps]({{< ref "#enabling-high-availability-in-an-existing-dapr-deployment" >}}).
|
||||||
|
|
||||||
## High Priority Class Name
|
## Cluster Critical Priority Class Name
|
||||||
|
|
||||||
In some scenarios, there might be memory and/or cpu pressure on nodes and the Dapr control plane pods might get selected
|
In some scenarios, there might be memory and/or cpu pressure on nodes and the Dapr control plane pods might get selected
|
||||||
for eviction. To prevent this, you can set a high priority class name for the Dapr control plane pods. This will ensure that
|
for eviction. To help preventing this, you can set a critical priority class name for the Dapr control plane pods. This will ensure that
|
||||||
the Dapr control plane pods are not evicted unless all other pods with lower priority are evicted.
|
the Dapr control plane pods are not evicted unless all other pods with lower priority are evicted.
|
||||||
|
|
||||||
More information on Protecting Missiong-Critical Pods can be found [here](https://kubernetes.io/blog/2023/01/12/protect-mission-critical-pods-priorityclass/).
|
More information on Protecting Missiong-Critical Pods can be found [here](https://kubernetes.io/blog/2023/01/12/protect-mission-critical-pods-priorityclass/).
|
||||||
|
|
||||||
There are two default critical priority classes in Kubernetes:
|
There are two built-in critical priority classes in Kubernetes:
|
||||||
- system-cluster-critical
|
- system-cluster-critical
|
||||||
- system-node-critical
|
- system-node-critical (highest priority)
|
||||||
|
|
||||||
We recommend to set the priorityClassName to `system-cluster-critical` for the Dapr control plane pods.
|
We recommend to set the priorityClassName to `system-cluster-critical` for the Dapr control plane pods.
|
||||||
|
|
||||||
For a new Dapr deployment, `system-cluster-critical` priority class mode can be set via the helm value `global.priorityClassName`.
|
For a new Dapr deployment, `system-cluster-critical` priority class mode can be set via the helm value `global.priorityClassName`.
|
||||||
|
|
||||||
For a new Dapr deployment, HA mode can be set with both:
|
For a new Dapr deployment, HA mode can be set with both:
|
||||||
- The [Dapr CLI]({{< ref "kubernetes-deploy.md#install-in-highly-available-mode" >}}), and
|
- The
|
||||||
- [Helm charts]({{< ref "kubernetes-deploy.md#add-and-install-dapr-helm-chart" >}})
|
- [Helm charts]({{< ref "kubernetes-deploy.md#add-and-install-dapr-helm-chart" >}})
|
||||||
|
|
||||||
|
#### Dapr version < 1.14
|
||||||
|
|
||||||
|
For versions of Dapr < 1.14, it is recommended that you add a `ResourceQuota` to the `dapr-system` namespace to prevent
|
||||||
|
problems scheduling pods [if the cluster has been configured](https://kubernetes.io/docs/concepts/policy/resource-quotas/#limit-priority-class-consumption-by-default )
|
||||||
|
with limitations on which pods can be assigned these high priority classes.
|
||||||
|
|
||||||
|
If you have dapr installed in namespace `dapr-system`, you can create a `ResourceQuota` with the following content:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ResourceQuota
|
||||||
|
metadata:
|
||||||
|
name: system-critical-quota
|
||||||
|
namespace: dapr-system
|
||||||
|
spec:
|
||||||
|
scopeSelector:
|
||||||
|
matchExpressions:
|
||||||
|
- operator : In
|
||||||
|
scopeName: PriorityClass
|
||||||
|
values: [system-cluster-critical]
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## Deploy Dapr with Helm
|
## Deploy Dapr with Helm
|
||||||
|
|
||||||
[Visit the full guide on deploying Dapr with Helm]({{< ref "kubernetes-deploy.md#install-with-helm-advanced" >}}).
|
[Visit the full guide on deploying Dapr with Helm]({{< ref "kubernetes-deploy.md#install-with-helm-advanced" >}}).
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue