安装 Dapr CLI 的步骤

安装 Dapr CLI 的步骤

对这件事情的目标

深入了解用于分散应用程序的 Dapr 运行时。

实现的事情

安装Dapr CLI命令行工具,以在本地环境(Ubuntu)上操作Dapr并验证Dapr运行时的功能。

开发环境

    • Windows 11 Home 22H2 を使用しています。

WSL の Ubuntu を操作していきますので macOS の方も参考にして頂けます。

WSL(Microsoft Store应用程序版)
> wsl –version
WSL版本:1.0.3.0
内核版本:5.15.79.1
WSLg版本:1.0.47Ubuntu
$ lsb_release -a
没有可用的LSB模块。
发行商 ID:Ubuntu
描述:Ubuntu 22.04.1 LTS
发布号:22.04

Docker Desktop
版本 4.16.3(96739)

$ docker –version
Docker版本 20.10.22,构建 3a2c30b

※ 本文基本操作在Ubuntu终端进行。

安装

安装

$ wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash

版本确认
注意:运行时尚未初始化。

$ dapr --version
CLI version: 1.10.0
Runtime version: n/a

初始化运行时

初始化 Dapr 运行时有两种方法可供选择。

No方法概要1ローカル環境に初期化Dapr の起動には Redis が必要なので Redis の環境を個別に用意する必要があります。2Docker 環境に初期化Dapr の起動に必要である Redis コンテナもセットで環境が初期化されます。
※ 公式での推奨

在本地环境进行初始化

初始化

$ dapr init --slim

※ 如果要卸载运行时

$ dapr uninstall

用 Docker 进行环境初始化

※ 必须启动Docker环境。

$ docker --version
Docker version 20.10.22, build 3a2c30b

初始化

$ dapr init

只需要一个选项,将以下内容以中文本地化:
*如果要卸载运行时。

$ dapr uninstall --all

查看容器的启动状态

$ docker ps | grep dapr
a842a0006f5d   redis:6              "docker-entrypoint.s…"   0.0.0.0:6379->6379/tcp             dapr_redis
4201cb6b0ca7   openzipkin/zipkin    "start-zipkin"            9410/tcp, 0.0.0.0:9411->9411/tcp   dapr_zipkin
dae8b337dabe   daprio/dapr:1.10.0   "./placement"             0.0.0.0:50005->50005/tcp           dapr_placement

开始初始化

Dapr 运行时已安装在以下目录中。

 /home/$USER/.dapr/bin  

确认版本

$ dapr --version
CLI version: 1.10.0
Runtime version: 1.10.0

尝试使用 Dapr API

※ 在本地环境中初始化配置后,将启动 Redis。
※ 在此示例中,我们将 Redis 作为 Docker 容器启动。

$ docker run -d -p 6379:6379 redis

Dapr 运行时的启动 (Dapr runtime startup)

运行Dapr sidecar。
* Dapr sidecar将在端口3500上监听空的应用程序。

$ dapr run --app-id hello-dapr --dapr-http-port 3500

※ 如果您想停止(在另一个终端)

    なおエラーで起動出来ていない場合は停止できないようです。
$ dapr stop --app-id hello-dapr

在Dapr仪表盘上查看(在另一个终端中)

$ dapr dashboard -p 9999
Dapr Dashboard running on http://localhost:9999

尝试使用API进行操作

使用Dapr API在另一个终端注册数值。

curl -X POST -H "Content-Type: application/json" -d '[{ "key": "name", "value": "Michael Jackson"}]' http://localhost:3500/v1.0/state/statestore

接下来,我们将使用 Dapr API 来获取值。

curl -X GET http://localhost:3500/v1.0/state/statestore/name
"Michael Jackson"

检查 Dapr 的 Redis 容器并确认状态。
※ 使用 Redis CLI 。
※ 如果是在本地环境上初始化的配置,请对运行中的 Redis 容器进行操作。

$ docker exec -it dapr_redis redis-cli

Redis CLI
※ 使用 exit 退出操作。

> keys *
1) "hello-dapr||name"
> hgetall "hello-dapr||name"
1) "data"
2) "\"Michael Jackson\""
3) "version"
4) "1"

※ Dapr 的 Redis 容器中保存了值。

使用Dapr API 删除值。

curl -v -X DELETE -H "Content-Type: application/json" http://localhost:3500/v1.0/state/statestore/name

※ 检查 Redis 容器后发现值已被删除。

> keys *
(empty array)

总结

    Dapr CLI をインストールして Dapr ランタイムを構築し、 Ubuntu の Docker 環境にて Dapr API の動作を確認することが出来ました。

公式参考资料

达鹏开始着手准备。