You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Dapr extension for Azure Kubernetes Service (AKS) and Arc-enabled Kubernetes
13
13
14
-
[Dapr](https://dapr.io/) is a portable, event-driven runtime that makes it easy for any developer to build resilient, stateless and stateful applications that run on the cloud and edge and embraces the diversity of languages and developer frameworks. Leveraging the benefits of a sidecar architecture, Dapr helps you tackle the challenges that come with building microservices and keeps your code platform agnostic. In particular, it helps with solving problems around services calling other services reliably and securely, building event-driven apps with pub-sub, and building applications that are portable across multiple cloud services and hosts (e.g., Kubernetes vs. a VM).
14
+
[Dapr](https://dapr.io/) is a portable, event-driven runtime that simplifies building resilient, stateless, and stateful applications that run on the cloud and edge and embrace the diversity of languages and developer frameworks. Applying the benefits of a sidecar architecture, Dapr helps you tackle the challenges that come with building microservices and keeps your code platform agnostic. In particular, it helps solve problems around services:
15
+
- Calling other services reliably and securely
16
+
- Building event-driven apps with pub-sub
17
+
- Building applications that are portable across multiple cloud services and hosts (for example, Kubernetes vs. a VM)
15
18
16
19
By using the Dapr extension to provision Dapr on your AKS or Arc-enabled Kubernetes cluster, you eliminate the overhead of downloading Dapr tooling and manually installing and managing the runtime on your AKS cluster. Additionally, the extension offers support for all [native Dapr configuration capabilities][dapr-configuration-options] through simple command-line arguments.
17
20
18
21
> [!NOTE]
19
-
> If you plan on installing Dapr in a Kubernetes production environment, please see the [Dapr guidelines for production usage][kubernetes-production] documentation page.
22
+
> If you plan on installing Dapr in a Kubernetes production environment, see the [Dapr guidelines for production usage][kubernetes-production] documentation page.
20
23
21
24
## How it works
22
25
@@ -25,9 +28,9 @@ The Dapr extension uses the Azure CLI to provision the Dapr control plane on you
25
28
-**dapr-operator**: Manages component updates and Kubernetes services endpoints for Dapr (state stores, pub/subs, etc.)
26
29
-**dapr-sidecar-injector**: Injects Dapr into annotated deployment pods and adds the environment variables `DAPR_HTTP_PORT` and `DAPR_GRPC_PORT` to enable user-defined applications to easily communicate with Dapr without hard-coding Dapr port values.
27
30
-**dapr-placement**: Used for actors only. Creates mapping tables that map actor instances to pods
28
-
-**dapr-sentry**: Manages mTLS between services and acts as a certificate authority. For more information read the [security overview][dapr-security].
31
+
-**dapr-sentry**: Manages mTLS between services and acts as a certificate authority. For more information, read the [security overview][dapr-security].
29
32
30
-
Once Dapr is installed on your cluster, you can begin to develop using the Dapr building block APIs by [adding a few annotations][dapr-deployment-annotations] to your deployments. For a more in-depth overview of the building block APIs and how to best use them, please see the [Dapr building blocks overview][building-blocks-concepts].
33
+
Once Dapr is installed on your cluster, you can begin to develop using the Dapr building block APIs by [adding a few annotations][dapr-deployment-annotations] to your deployments. For a more in-depth overview of the building block APIs and how to best use them, see the [Dapr building blocks overview][building-blocks-concepts].
31
34
32
35
> [!WARNING]
33
36
> If you install Dapr through the AKS or Arc-enabled Kubernetes extension, our recommendation is to continue using the extension for future management of Dapr instead of the Dapr CLI. Combining the two tools can cause conflicts and result in undesired behavior.
@@ -40,7 +43,7 @@ The Dapr extension support varies depending on how you manage the runtime.
40
43
41
44
**Self-managed**
42
45
For self-managed runtime, the Dapr extension supports:
43
-
-[The latest version of Dapr and 2 previous versions (N-2)][dapr-supported-version]
46
+
-[The latest version of Dapr and two previous versions (N-2)][dapr-supported-version]
44
47
- Upgrading minor version incrementally (for example, 1.5 -> 1.6 -> 1.7)
45
48
46
49
Self-managed runtime requires manual upgrade to remain in the support window. To upgrade Dapr via the extension, follow the [Update extension instance instructions][update-extension].
@@ -64,7 +67,7 @@ Global Azure cloud is supported with Arc support on the regions listed by [Azure
64
67
65
68
### Set up the Azure CLI extension for cluster extensions
66
69
67
-
You will need the `k8s-extension` Azure CLI extension. Install this by running the following commands:
70
+
You'll need the `k8s-extension` Azure CLI extension. Install by running the following commands:
68
71
69
72
```azurecli-interactive
70
73
az extension add --name k8s-extension
@@ -138,7 +141,7 @@ If no configuration-settings are passed, the Dapr configuration defaults to:
138
141
allowedClockSkew: 15m
139
142
```
140
143
141
-
For a list of available options, please see [Dapr configuration][dapr-configuration-options].
144
+
For a list of available options, see [Dapr configuration][dapr-configuration-options].
142
145
143
146
## Targeting a specific Dapr version
144
147
@@ -159,7 +162,7 @@ az k8s-extension create --cluster-type managedClusters \
159
162
160
163
## Limiting the extension to certain nodes
161
164
162
-
In some configurations you may only want to run Dapr on certain nodes. This can be accomplished by passing a `nodeSelector` in the extension configuration. Note that if the desired `nodeSelector` contains `.`, you must escape them from the shell and the extension. For example, the following configuration will install Dapr to only nodes with `topology.kubernetes.io/zone: "us-east-1c"`:
165
+
In some configurations, you may only want to run Dapr on certain nodes. You can limit the extension by passing a `nodeSelector` in the extension configuration. If the desired `nodeSelector` contains `.`, you must escape them from the shell and the extension. For example, the following configuration will install Dapr to only nodes with `topology.kubernetes.io/zone: "us-east-1c"`:
163
166
164
167
```azure-cli-interactive
165
168
az k8s-extension create --cluster-type managedClusters \
@@ -202,14 +205,14 @@ az k8s-extension show --cluster-type managedClusters \
202
205
## Update configuration settings
203
206
204
207
> [!IMPORTANT]
205
-
> Some configuration options cannot be modified post-creation. Adjustments to these options require deletion and recreation of the extension. This is applicable to the following settings:
208
+
> Some configuration options cannot be modified post-creation. Adjustments to these options require deletion and recreation of the extension, applicable to the following settings:
206
209
> * `global.ha.*`
207
210
> * `dapr_placement.*`
208
211
209
212
> [!NOTE]
210
213
> High availability (HA) can be enabled at any time. However, once enabled, disabling it requires deletion and recreation of the extension. If you aren't sure if high availability is necessary for your use case, we recommend starting with it disabled to minimize disruption.
211
214
212
-
To update your Dapr configuration settings, simply recreate the extension with the desired state. For example, assume we have previously created and installed the extension using the following configuration:
215
+
To update your Dapr configuration settings, recreate the extension with the desired state. For example, assume we've previously created and installed the extension using the following configuration:
213
216
214
217
```azurecli-interactive
215
218
az k8s-extension create --cluster-type managedClusters \
@@ -222,7 +225,7 @@ az k8s-extension create --cluster-type managedClusters \
0 commit comments