Merge branch 'v1.1' into aacrawfi/concepts

This commit is contained in:
Ori Zohar 2021-04-22 13:24:08 -07:00 committed by GitHub
commit 07a8f8b8de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 72 additions and 35 deletions

10
.github/CODEOWNERS vendored Normal file
View File

@ -0,0 +1,10 @@
# Documentation and examples for what this does:
#
# https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
# This file is a list of rules, with the last rule being most specific
# All of the people (and only those people) from the matching rule will be notified
# Default rule: anything that doesn't match a more specific rule goes here
* @dapr/approvers-docs @dapr/maintainers-docs

View File

@ -480,7 +480,7 @@ dapr --app-id app2 run -- php app2.php
Dapr automatically takes the data sent on the publish request and wraps it in a CloudEvent 1.0 envelope. Dapr automatically takes the data sent on the publish request and wraps it in a CloudEvent 1.0 envelope.
If you want to use your own custom CloudEvent, make sure to specify the content type as `application/cloudevents+json`. If you want to use your own custom CloudEvent, make sure to specify the content type as `application/cloudevents+json`.
See info about content types [here](#Content-Types). Read about content types [here](#content-types), and about the [Cloud Events message format]({{< ref "pubsub-overview.md#cloud-events-message-format" >}}).
## Next steps ## Next steps

View File

@ -86,7 +86,7 @@ data := []byte("ping")
// create the client // create the client
client, err := dapr.NewClient() client, err := dapr.NewClient()
if err != nil { if err != nil {
logger.Panic(err) log.Panic(err)
} }
defer client.Close() defer client.Close()
``` ```
@ -95,11 +95,11 @@ defer client.Close()
```go ```go
// save state with the key key1 // save state with the key key1
err = client.SaveStateData(ctx, "statestore", "key1", "1", data) err = client.SaveState(ctx, "statestore", "key1", data)
if err != nil { if err != nil {
logger.Panic(err) log.Panic(err)
} }
logger.Println("data saved") log.Println("data saved")
``` ```
Hooray! Hooray!
@ -135,6 +135,7 @@ import (
```go ```go
// server is our user app // server is our user app
type server struct { type server struct {
pb.UnimplementedAppCallbackServer
} }
// EchoMethod is a simple demo method to invoke // EchoMethod is a simple demo method to invoke
@ -183,9 +184,9 @@ func (s *server) OnBindingEvent(ctx context.Context, in *pb.BindingEventRequest)
} }
// This method is fired whenever a message has been published to a topic that has been subscribed. Dapr sends published messages in a CloudEvents 0.3 envelope. // This method is fired whenever a message has been published to a topic that has been subscribed. Dapr sends published messages in a CloudEvents 0.3 envelope.
func (s *server) OnTopicEvent(ctx context.Context, in *pb.TopicEventRequest) (*empty.Empty, error) { func (s *server) OnTopicEvent(ctx context.Context, in *pb.TopicEventRequest) (*pb.TopicEventResponse, error) {
fmt.Println("Topic message arrived") fmt.Println("Topic message arrived")
return &empty.Empty{}, nil return &pb.TopicEventResponse{}, nil
} }
``` ```

View File

@ -53,7 +53,7 @@ dapr --version
Output should look like this: Output should look like this:
``` ```
CLI version: 1.1.0 CLI version: 1.1.0
Runtime version: 1.1.1 Runtime version: 1.1.2
``` ```
### Step 4: Verify containers are running ### Step 4: Verify containers are running
@ -96,7 +96,7 @@ bin components config.yaml
{{% /codetab %}} {{% /codetab %}}
{{% codetab %}} {{% codetab %}}
Open `%USERPROFILE%\.dapr\` in file explorer: Using Command Prompt (not PowerShell), open `%USERPROFILE%\.dapr\` in file explorer:
```powershell ```powershell
explorer "%USERPROFILE%\.dapr\" explorer "%USERPROFILE%\.dapr\"

View File

@ -122,7 +122,7 @@ The latest Dapr helm chart no longer supports Helm v2. Please migrate from Helm
```bash ```bash
helm upgrade --install dapr dapr/dapr \ helm upgrade --install dapr dapr/dapr \
--version=1.1.1 \ --version=1.1.2 \
--namespace dapr-system \ --namespace dapr-system \
--create-namespace \ --create-namespace \
--wait --wait
@ -132,7 +132,7 @@ The latest Dapr helm chart no longer supports Helm v2. Please migrate from Helm
```bash ```bash
helm upgrade --install dapr dapr/dapr \ helm upgrade --install dapr dapr/dapr \
--version=1.1.1 \ --version=1.1.2 \
--namespace dapr-system \ --namespace dapr-system \
--create-namespace \ --create-namespace \
--set global.ha.enabled=true \ --set global.ha.enabled=true \

View File

@ -59,7 +59,9 @@ The CPU and memory limits above account for the fact that Dapr is intended to a
## Highly-available mode ## Highly-available mode
When deploying Dapr in a production-ready configuration, it's recommended to deploy with a highly available configuration of the control plane, which creates 3 replicas of each control plane pod in the dapr-system namespace. When deploying Dapr in a production-ready configuration, it's recommended to deploy with a highly available (HA) configuration of the control plane, which creates 3 replicas of each control plane pod in the dapr-system namespace. This configuration allows for the Dapr control plane to survive node failures and other outages.
HA mode can be enabled with both the [Dapr CLI]({{< ref "kubernetes-deploy.md#install-in-highly-available-mode" >}} and with [Helm charts]({{< ref "kubernetes-deploy.md#add-and-install-dapr-helm-chart" >}}).
## Deploying Dapr with Helm ## Deploying Dapr with Helm

View File

@ -11,17 +11,27 @@ description: "Follow these steps to upgrade Dapr on Kubernetes and ensure a smoo
- [Dapr CLI]({{< ref install-dapr-cli.md >}}) - [Dapr CLI]({{< ref install-dapr-cli.md >}})
- [Helm 3](https://github.com/helm/helm/releases) (if using Helm) - [Helm 3](https://github.com/helm/helm/releases) (if using Helm)
## Upgrade existing cluster to 1.1.1 ## Upgrade existing cluster to 1.1.2
There are two ways to upgrade the Dapr control plane on a Kubernetes cluster using either the Dapr CLI or Helm. There are two ways to upgrade the Dapr control plane on a Kubernetes cluster using either the Dapr CLI or Helm.
### Dapr CLI ### Dapr CLI
The example below shows how to upgrade to version 1.1.1: The example below shows how to upgrade to version 1.1.2:
```bash ```bash
dapr upgrade -k --runtime-version=1.1.1 dapr upgrade -k --runtime-version=1.1.2
``` ```
{{% alert title="Note" color="warning" %}}
If you are using Dapr CLI v1.1.0 there is a known issue where mTLS will be enabled by default, even on clusters where it is disabled. If your cluster has mTLS disabled, and you would like it to stay disabled, add `--set global.mtls.enabled=false` to your upgrade command:
```bash
dapr upgrade -k --runtime-version 1.1.1 --set global.mtls.enabled=false
```
You can track the issue here: [#664](https://github.com/dapr/cli/issues/664).
{{% /alert %}}
You can provide all the available Helm chart configurations using the Dapr CLI. You can provide all the available Helm chart configurations using the Dapr CLI.
See [here](https://github.com/dapr/cli#supplying-helm-values) for more info. See [here](https://github.com/dapr/cli#supplying-helm-values) for more info.
@ -43,7 +53,7 @@ To resolve this issue please run the follow command to upgrade the CustomResourc
kubectl replace -f https://raw.githubusercontent.com/dapr/dapr/5a15b3e0f093d2d0938b12f144c7047474a290fe/charts/dapr/crds/configuration.yaml kubectl replace -f https://raw.githubusercontent.com/dapr/dapr/5a15b3e0f093d2d0938b12f144c7047474a290fe/charts/dapr/crds/configuration.yaml
``` ```
Then proceed with the `dapr upgrade --runtime-version 1.1.1 -k` command as above. Then proceed with the `dapr upgrade --runtime-version 1.1.2 -k` command as above.
### Helm ### Helm

View File

@ -25,11 +25,11 @@ description: "Follow these steps to upgrade Dapr in self-hosted mode and ensure
dapr init dapr init
``` ```
1. Ensure you are using the latest version of Dapr (v1.1.1) with: 1. Ensure you are using the latest version of Dapr (v1.1.2) with:
```bash ```bash
$ dapr --version $ dapr --version
CLI version: 1.1.0 CLI version: 1.1.0
Runtime version: 1.1.1 Runtime version: 1.1.2
``` ```

View File

@ -35,6 +35,7 @@ The table below shows the versions of Dapr releases that have been tested togeth
| Mar 4th 2021 | 1.0.1</br>| 1.0.1 | Java 1.0.2 </br>Go 1.0.0 </br>PHP 1.0.0 </br>Python 1.0.0 </br>.NET 1.0.0 | 0.6.0 | Supported | | Mar 4th 2021 | 1.0.1</br>| 1.0.1 | Java 1.0.2 </br>Go 1.0.0 </br>PHP 1.0.0 </br>Python 1.0.0 </br>.NET 1.0.0 | 0.6.0 | Supported |
| Apr 1st 2021 | 1.1.0</br> | 1.1.0 | Java 1.0.2 </br>Go 1.1.0 </br>PHP 1.0.0 </br>Python 1.1.0 </br>.NET 1.1.0 | 0.6.0 | Supported | | Apr 1st 2021 | 1.1.0</br> | 1.1.0 | Java 1.0.2 </br>Go 1.1.0 </br>PHP 1.0.0 </br>Python 1.1.0 </br>.NET 1.1.0 | 0.6.0 | Supported |
| Apr 6th 2021 | 1.1.1</br> | 1.1.0 | Java 1.0.2 </br>Go 1.1.0 </br>PHP 1.0.0 </br>Python 1.1.0 </br>.NET 1.1.0 | 0.6.0 | Supported (current) | | Apr 6th 2021 | 1.1.1</br> | 1.1.0 | Java 1.0.2 </br>Go 1.1.0 </br>PHP 1.0.0 </br>Python 1.1.0 </br>.NET 1.1.0 | 0.6.0 | Supported (current) |
| Apr 16th 2021 | 1.1.2</br> | 1.1.0 | Java 1.0.2 </br>Go 1.1.0 </br>PHP 1.0.0 </br>Python 1.1.0 </br>.NET 1.1.0 | 0.6.0 | Supported (current) |
## Upgrade paths ## Upgrade paths
After the 1.0 release of the runtime there may be situations where it is necessary to explicitly upgrade through an additional release to reach the desired target. For example an upgrade from v1.0 to v1.2 may need go pass through v1.1 After the 1.0 release of the runtime there may be situations where it is necessary to explicitly upgrade through an additional release to reach the desired target. For example an upgrade from v1.0 to v1.2 may need go pass through v1.1
@ -46,10 +47,10 @@ General guidance on upgrading can be found for [self hosted mode]({{<ref self-ho
| Current Runtime version | Must upgrade through | Target Runtime version | | Current Runtime version | Must upgrade through | Target Runtime version |
|--------------------------|-----------------------|------------------------- | |--------------------------|-----------------------|------------------------- |
| 0.11 | N/A | 1.0.1 | | 0.11 | N/A | 1.0.1 |
| | 1.0.1 | 1.1.1 | | | 1.0.1 | 1.1.2 |
| 1.0-rc1 to 1.0-rc4 | N/A | 1.0.1 | | 1.0-rc1 to 1.0-rc4 | N/A | 1.0.1 |
| 1.0.0 or 1.0.1 | N/A | 1.1.1 | | 1.0.0 or 1.0.1 | N/A | 1.1.2 |
| 1.1.0 | N/A | 1.1.1 | | 1.1.0 or 1.1.1 | N/A | 1.1.2 |
## Feature and deprecations ## Feature and deprecations
There is a process for announcing feature deprecations. Deprecations are applied two (2) releases after the release in which they were announced. For example Feature X is announced to be deprecated in the 1.0.0 release notes and will then be removed in 1.2.0. There is a process for announcing feature deprecations. Deprecations are applied two (2) releases after the release in which they were announced. For example Feature X is announced to be deprecated in the 1.0.0 release notes and will then be removed in 1.2.0.

View File

@ -9,9 +9,16 @@ description: "Common issues and problems faced when running Dapr applications"
## I don't see the Dapr sidecar injected to my pod ## I don't see the Dapr sidecar injected to my pod
There could be several reasons to why a sidecar will not be injected into a pod. There could be several reasons to why a sidecar will not be injected into a pod.
First, check your Deployment or Pod YAML file, and check that you have the following annotations in the right place: First, check your deployment or pod YAML file, and check that you have the following annotations in the right place:
Sample deployment: ```yaml
annotations:
dapr.io/enabled: "true"
dapr.io/app-id: "nodeapp"
dapr.io/app-port: "3000"
```
### Sample deployment:
```yaml ```yaml
apiVersion: apps/v1 apiVersion: apps/v1
@ -31,9 +38,9 @@ spec:
labels: labels:
app: node app: node
annotations: annotations:
<b>dapr.io/enabled: "true"</b> dapr.io/enabled: "true"
<b>dapr.io/app-id: "nodeapp"</b> dapr.io/app-id: "nodeapp"
<b>dapr.io/app-port: "3000"</b> dapr.io/app-port: "3000"
spec: spec:
containers: containers:
- name: node - name: node
@ -84,7 +91,7 @@ The most common cause of this failure is that a component (such as a state store
To diagnose the root cause: To diagnose the root cause:
- Significantly increase the liveness probe delay - [link]({{< ref "kubernetes-overview.md" >}}) - Significantly increase the liveness probe delay - [link]({{< ref "kubernetes-annotations.md" >}})
- Set the log level of the sidecar to debug - [link]({{< ref "logs-troubleshooting.md#setting-the-sidecar-log-level" >}}) - Set the log level of the sidecar to debug - [link]({{< ref "logs-troubleshooting.md#setting-the-sidecar-log-level" >}})
- Watch the logs for meaningful information - [link]({{< ref "logs-troubleshooting.md#viewing-logs-on-kubernetes" >}}) - Watch the logs for meaningful information - [link]({{< ref "logs-troubleshooting.md#viewing-logs-on-kubernetes" >}})

View File

@ -36,12 +36,12 @@ dapr upgrade -k
### Upgrade specified version of Dapr runtime in Kubernetes ### Upgrade specified version of Dapr runtime in Kubernetes
```bash ```bash
dapr upgrade -k --runtime-version 1.1.1 dapr upgrade -k --runtime-version 1.1.2
``` ```
### Upgrade specified version of Dapr runtime in Kubernetes with value set ### Upgrade specified version of Dapr runtime in Kubernetes with value set
```bash ```bash
dapr upgrade -k --runtime-version 1.1.1 --set global.logAsJson=true dapr upgrade -k --runtime-version 1.1.2 --set global.logAsJson=true
``` ```
# Related links # Related links

View File

@ -77,7 +77,7 @@ To run without Docker, see the getting started guide [here](https://kafka.apache
{{% /codetab %}} {{% /codetab %}}
{{% codetab %}} {{% codetab %}}
To run Kafka on Kubernetes, you can use the [Helm Chart](https://github.com/helm/charts/tree/master/incubator/kafka#installing-the-chart). To run Kafka on Kubernetes, you can use any Kafka operator, such as [Strimzi](https://strimzi.io/docs/operators/latest/quickstart.html#ref-install-prerequisites-str).
{{% /codetab %}} {{% /codetab %}}
{{< /tabs >}} {{< /tabs >}}

View File

@ -8,7 +8,7 @@ aliases:
--- ---
## Component format ## Component format
To setup Azure Event Hubs pubsub create a component of type `pubsub.azure.servicebus`. See [this guide]({{< ref "howto-publish-subscribe.md#step-1-setup-the-pubsub-component" >}}) on how to create and apply a pubsub configuration. To setup Azure Service Bus pubsub create a component of type `pubsub.azure.servicebus`. See [this guide]({{< ref "howto-publish-subscribe.md#step-1-setup-the-pubsub-component" >}}) on how to create and apply a pubsub configuration.
```yaml ```yaml
apiVersion: dapr.io/v1alpha1 apiVersion: dapr.io/v1alpha1
@ -50,6 +50,10 @@ spec:
value: 30 value: 30
- name: connectionRecoveryInSec # Optional - name: connectionRecoveryInSec # Optional
value: 2 value: 2
- name: publishMaxRetries # Optional
value: 5
- name: publishInitialRetryInternalInMs # Optional
value: 500
``` ```
> __NOTE:__ The above settings are shared across all topics that use this component. > __NOTE:__ The above settings are shared across all topics that use this component.
@ -62,7 +66,7 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| Field | Required | Details | Example | | Field | Required | Details | Example |
|--------------------|:--------:|---------|---------| |--------------------|:--------:|---------|---------|
| connectionString | Y | Connection-string for the Event Hubs | "`Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus}`" | connectionString | Y | Connection-string for the Service Bus | "`Endpoint=sb://{ServiceBusNamespace}.servicebus.windows.net/;SharedAccessKeyName={PolicyName};SharedAccessKey={Key};EntityPath={ServiceBus}`"
| timeoutInSec | N | Timeout for sending messages and management operations. Default: `60` |`30` | timeoutInSec | N | Timeout for sending messages and management operations. Default: `60` |`30`
| handlerTimeoutInSec| N | Timeout for invoking app handler. # Optional. Default: `60` | `30` | handlerTimeoutInSec| N | Timeout for invoking app handler. # Optional. Default: `60` | `30`
| disableEntityManagement | N | When set to true, topics and subscriptions do not get created automatically. Default: `"false"` | `"true"`, `"false"` | disableEntityManagement | N | When set to true, topics and subscriptions do not get created automatically. Default: `"false"` | `"true"`, `"false"`
@ -77,6 +81,8 @@ The above example uses secrets as plain strings. It is recommended to use a secr
| autoDeleteOnIdleInSec | N |Time in seconds to wait before auto deleting messages. | `10` | autoDeleteOnIdleInSec | N |Time in seconds to wait before auto deleting messages. | `10`
| maxReconnectionAttempts | N |Defines the maximum number of reconnect attempts. Default: `30` | `30` | maxReconnectionAttempts | N |Defines the maximum number of reconnect attempts. Default: `30` | `30`
| connectionRecoveryInSec | N |Time in seconds to wait between connection recovery attempts. Defaults: `2` | `2` | connectionRecoveryInSec | N |Time in seconds to wait between connection recovery attempts. Defaults: `2` | `2`
| publishMaxRetries | N | The max number of retries for when Azure Service Bus responds with "too busy" in order to throttle messages. Defaults: `5` | `5`
| publishInitialRetryInternalInMs | N | Time in milliseconds for the initial exponential backoff when Azure Service Bus throttle messages. Defaults: `500` | `500`
## Create an Azure Service Bus ## Create an Azure Service Bus