安装 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
> 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 の動作を確認することが出来ました。
公式参考资料
达鹏开始着手准备。