Merge branch 'master' into youngp/changes

This commit is contained in:
Young Bu Park 2020-11-16 16:05:03 -08:00
commit f84bc116f5
4 changed files with 47 additions and 42 deletions

View File

@ -59,10 +59,10 @@ You can find information [here]({{< ref "install-dapr.md#using-helm-advanced" >}
When deploying Dapr in a production-ready configuration, it's recommended to deploy with a highly available configuration of the control plane:
```bash
helm install dapr dapr/dapr --namespace dapr-system --set global.ha.enabled=true
helm install dapr dapr/dapr --version=<Dapr chart version> --namespace dapr-system --set global.ha.enabled=true
```
This command will run 3 replicas of each control plane pod with the exception of the Placement pod in the dapr-system namespace.
This command will run 3 replicas of each control plane pod in the dapr-system namespace.
*Note: The Dapr Helm chart automatically deploys with affinity for nodes with the label `kubernetes.io/os=linux`. You can deploy the Dapr control plane to Windows nodes, but most users should not need to. For more information see [Deploying to a Hybrid Linux/Windows K8s Cluster]({{< ref "kubernetes-hybrid-clusters.md" >}})*
@ -77,7 +77,7 @@ Dapr supports zero downtime upgrades. The upgrade path includes the following st
### Upgrading the CLI
To upgrade the Dapr CLI, [download a release version](https://github.com/dapr/cli/releases) of the CLI that matches the Dapr runtime version.
For example, if upgrading to Dapr 0.9.0, download a CLI version of 0.9.x.
For example, if upgrading to Dapr 1.0.0-rc.x, download a CLI version of 1.0.0-rc.x.
After you downloaded the binary, it's recommended you put the CLI binary in your path.
@ -122,6 +122,8 @@ You should have the following files containing the base64 decoded text from the
#### Updating the control plane pods
> Note: To upgrade Dapr from 0.11.x to 1.0.0 version, please refer to [this section](#upgrade-from-dapr-011x-to-100).
Next, you need to find a Helm chart version that installs the new desired version of Dapr and perform a `helm upgrade` operation.
First, update the Helm Chart repos:
@ -133,11 +135,10 @@ helm repo update
List all charts in the Dapr repo:
```bash
helm search repo dapr
helm search repo dapr --devel
NAME CHART VERSION APP VERSION DESCRIPTION
dapr/dapr 0.4.3 0.9.0 A Helm chart for Dapr on Kubernetes
dapr/dapr 0.4.2 0.8.0 A Helm chart for Dapr on Kubernetes
dapr/dapr 1.0.0-rc.1 1.0.0-rc.1 A Helm chart for Dapr on Kubernetes
```
The APP VERSION column tells us which Dapr runtime version is installed by the chart.
@ -145,7 +146,7 @@ The APP VERSION column tells us which Dapr runtime version is installed by the c
Use the following command to upgrade Dapr to your desired runtime version providing a path to the certificate files you saved:
```bash
helm upgrade dapr dapr/dapr --version <CHART-VERSION> --namespace dapr-system --reset-values --set-file dapr_sentry.tls.root.certPEM=ca.crt --set-file dapr_sentry.tls.issuer.certPEM=issuer.crt --set-file dapr_sentry.tls.issuer.keyPEM=issuer.key
helm upgrade dapr dapr/dapr --version <Dapr chart version> --namespace dapr-system --reset-values --set-file dapr_sentry.tls.root.certPEM=ca.crt --set-file dapr_sentry.tls.issuer.certPEM=issuer.crt --set-file dapr_sentry.tls.issuer.keyPEM=issuer.key
```
Kubernetes now performs a rolling update. Wait until all the new pods appear as running:
@ -154,11 +155,11 @@ Kubernetes now performs a rolling update. Wait until all the new pods appear as
kubectl get po -n dapr-system -w
NAME READY STATUS RESTARTS AGE
dapr-dashboard-dcd7cc8fb-ml2p8 1/1 Running 0 12s
dapr-operator-7b57d884cd-6spcq 1/1 Running 0 12s
dapr-placement-86b76f6545-vkc6f 1/1 Running 0 12s
dapr-sentry-7c7bf75d8b-dcnhm 1/1 Running 0 12s
dapr-sidecar-injector-7b847db96f-kwst9 1/1 Running 0 12s
dapr-dashboard-86b94bb768-w4wmj 1/1 Running 0 39s
dapr-operator-67d7d7bb6c-qqkk7 1/1 Running 0 39s
dapr-placement-server-0 1/1 Running 0 39s
dapr-sentry-647759cd46-nwzkw 1/1 Running 0 39s
dapr-sidecar-injector-74648c9dcb-px2m5 1/1 Running 0 39s
```
You can verify the health and version of the control plane using the Dapr CLI:
@ -166,11 +167,12 @@ You can verify the health and version of the control plane using the Dapr CLI:
```bash
dapr status -k
NAME NAMESPACE HEALTHY STATUS VERSION AGE CREATED
dapr-placement dapr-system True Running 0.9.0 12s 2020-07-24 15:38.15
dapr-operator dapr-system True Running 0.9.0 12s 2020-07-24 15:38.15
dapr-sidecar-injector dapr-system True Running 0.9.0 12s 2020-07-24 15:38.16
dapr-sentry dapr-system True Running 0.9.0 12s 2020-07-24 15:38.15
NAME NAMESPACE HEALTHY STATUS REPLICAS VERSION AGE CREATED
dapr-sidecar-injector dapr-system True Running 1 1.0.0-rc.1 1m 2020-11-16 14:42.19
dapr-sentry dapr-system True Running 1 1.0.0-rc.1 1m 2020-11-16 14:42.19
dapr-dashboard dapr-system True Running 1 0.3.0 1m 2020-11-16 14:42.19
dapr-operator dapr-system True Running 1 1.0.0-rc.1 1m 2020-11-16 14:42.19
dapr-placement-server dapr-system True Running 1 1.0.0-rc.1 1m 2020-11-16 14:42.19
```
*Note: If new fields have been added to the target Helm Chart being upgraded to, the `helm upgrade` command will fail. If that happens, you need to find which new fields have been added in the new chart and add them as parameters to the upgrade command, for example: `--set <field-name>=<value>`.*
@ -181,7 +183,7 @@ The last step is to update pods that are running Dapr to pick up the new version
To do that, simply issue a rollout restart command for any deployment that has the `dapr.io/enabled` annotation:
```
kubectl rollout restart deploy/<DEPLOYMENT-NAME>
kubectl rollout restart deploy/<Application deployment name>
```
To see a list of all your Dapr enabled deployments, you can either use the [Dapr Dashboard](https://github.com/dapr/dashboard) or run the following command using the Dapr CLI:
@ -239,7 +241,7 @@ dapr-sidecar-injector-68f868668f-ltxq4 1/1 Running 0 36s
Update pods that are running Dapr to pick up the new version of the Dapr runtime.
```sh
kubectl rollout restart deploy/<DEPLOYMENT-NAME>
kubectl rollout restart deploy/<Application deployment name>
```
Once the deployment is completed, delete 0.11.x dapr-placement service by following commands:

View File

@ -40,11 +40,14 @@ By default for Linux/MacOS the `placement` binary is installed in `/$HOME/.dapr/
```bash
$ $HOME/.dapr/bin/placement
INFO[0000] starting Dapr Placement Service -- version 0.8.0 -- commit 74db927 instance=host.localhost.name scope=dapr.placement type=log ver=0.8.0
INFO[0000] log level set to: info instance=host.localhost.name scope=dapr.placement type=log ver=0.8.0
INFO[0000] metrics server started on :9090/ instance=host.localhost.name scope=dapr.metrics type=log ver=0.8.0
INFO[0000] placement Service started on port 50005 instance=host.localhost.name scope=dapr.placement type=log ver=0.8.0
INFO[0000] Healthz server is listening on :8080 instance=host.localhost.name scope=dapr.placement type=log ver=0.8.0
INFO[0000] starting Dapr Placement Service -- version 1.0.0-rc.1 -- commit 13ae49d instance=Nicoletaz-L10.redmond.corp.microsoft.com scope=dapr.placement type=log ver=1.0.0-rc.1
INFO[0000] log level set to: info instance=Nicoletaz-L10.redmond.corp.microsoft.com scope=dapr.placement type=log ver=1.0.0-rc.1
INFO[0000] metrics server started on :9090/ instance=Nicoletaz-L10.redmond.corp.microsoft.com scope=dapr.metrics type=log ver=1.0.0-rc.1
INFO[0000] Raft server is starting on 127.0.0.1:8201... instance=Nicoletaz-L10.redmond.corp.microsoft.com scope=dapr.placement.raft type=log ver=1.0.0-rc.1
INFO[0000] placement service started on port 50005 instance=Nicoletaz-L10.redmond.corp.microsoft.com scope=dapr.placement type=log ver=1.0.0-rc.1
INFO[0000] Healthz server is listening on :8080 instance=Nicoletaz-L10.redmond.corp.microsoft.com scope=dapr.placement type=log ver=1.0.0-rc.1
INFO[0001] cluster leadership acquired instance=Nicoletaz-L10.redmond.corp.microsoft.com scope=dapr.placement type=log ver=1.0.0-rc.1
INFO[0001] leader is established. instance=Nicoletaz-L10.redmond.corp.microsoft.com scope=dapr.placement type=log ver=1.0.0-rc.1
```
@ -57,12 +60,6 @@ Update the state store configuration files to have the Redis host and password m
value: "true"
```
The logs of the placement service are updated whenever a host that uses actors is added or removed similar to the following output:
```
INFO[0446] host added: 192.168.1.6 instance=host.localhost.name scope=dapr.placement type=log ver=0.8.0
INFO[0450] host removed: 192.168.1.6 instance=host.localhost.name scope=dapr.placement type=log ver=0.8.0
```
## Cleanup

View File

@ -16,20 +16,28 @@ description: "How to view Dapr metrics in a Grafana dashboard."
1. Install Grafana
Add the Grafana Helm repo:
```bash
helm install grafana stable/grafana -n dapr-monitoring
helm repo add grafana https://grafana.github.io/helm-charts
```
If you are Minikube user or want to disable persistent volume for development purpose, you can disable it by using the following command:
Install the chart:
```bash
helm install grafana stable/grafana -n dapr-monitoring --set persistence.enabled=false
helm install grafana grafana/grafana -n dapr-monitoring
```
If you are Minikube user or want to disable persistent volume for development purpose, you can disable it by using the following command:
```bash
helm install grafana grafana/grafana -n dapr-monitoring --set persistence.enabled=false
```
2. Retrieve the admin password for Grafana login
```bash
kubectl get secret --namespace dapr-monitoring grafana -o jsonpath="{. data.admin-password}" | base64 --decode
kubectl get secret --namespace dapr-monitoring grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
cj3m0OfBNx8SLzUlTx91dEECgzRlYJb60D2evof1%
```
@ -131,9 +139,8 @@ You can find `grafana-actor-dashboard.json`, `grafana-sidecar-dashboard.json` an
## References
* [Set up Prometheus and Grafana]({{< ref grafana.md >}})
* [Prometheus Installation](https://github.com/helm/charts/tree/master/stable/prometheus-operator)
* [Prometheus Installation](https://github.com/prometheus-community/helm-charts)
* [Prometheus on Kubernetes](https://github.com/coreos/kube-prometheus)
* [Prometheus Kubernetes Operator](https://github.com/helm/charts/tree/master/stable/prometheus-operator)
* [Prometheus Query Language](https://prometheus.io/docs/prometheus/latest/querying/basics/)
## Example

View File

@ -81,15 +81,16 @@ kubectl create namespace dapr-monitoring
2. Install Prometheus
```bash
helm repo add stable https://kubernetes-charts.storage.googleapis.com
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install dapr-prom stable/prometheus -n dapr-monitoring
helm install dapr-prom prometheus-community/prometheus -n dapr-monitoring
```
If you are Minikube user or want to disable persistent volume for development purposes, you can disable it by using the following command.
```bash
helm install dapr-prom stable/prometheus -n dapr-monitoring --set alertmanager.persistentVolume.enable=false --set pushgateway.persistentVolume.enabled=false --set server.persistentVolume.enabled=false
helm install dapr-prom prometheus-community/prometheus -n dapr-monitoring
--set alertmanager.persistentVolume.enable=false --set pushgateway.persistentVolume.enabled=false --set server.persistentVolume.enabled=false
```
3. Validation
@ -114,7 +115,5 @@ dapr-prom-prometheus-server-694fd8d7c-q5d59 2/2 Running 0
## References
* [Prometheus Installation](https://github.com/helm/charts/tree/master/stable/prometheus-operator)
* [Prometheus on Kubernetes](https://github.com/coreos/kube-prometheus)
* [Prometheus Kubernetes Operator](https://github.com/helm/charts/tree/master/stable/prometheus-operator)
* [Prometheus Installation](https://github.com/prometheus-community/helm-charts)
* [Prometheus Query Language](https://prometheus.io/docs/prometheus/latest/querying/basics/)