Dapr sidecar (daprd) 概述
Dapr使用sidecar模式,这意味着Dapr API在与应用程序一起运行的单独进程,即Dapr sidecar,上运行和公开。 Dapr sidecar 进程名为 daprd
,并且根据不同的宿主环境有不同的启动方式。
Dapr sidecar 提供了:
一旦应用程序可以通过其配置的端口访问,Dapr sidecar 就会进入就绪状态。 在应用程序启动/初始化期间,应用程序无法访问 Dapr 组件。
Sidecar API 是通过本地 http 或 gRPC 端点从应用程序调用的。
使用 dapr run
进行自托管
当以自托管模式安装Dapr时,daprd
二进制文件会被下载并放置在用户主目录下(Linux/macOS为$HOME/.dapr/bin
,Windows为%USERPROFILE%\.dapr\bin\
)。
在自托管模式下,运行Dapr CLI run
命令会使用提供的应用程序可执行文件启动daprd
可执行文件。 这是在开发和测试等场景中本地运行 Dapr sidecar 的推荐方法。
你可以在Dapr run命令参考 中找到CLI公开的用于配置sidecar的各种参数。
使用 dapr-sidecar-injector
的 Kubernetes
在Kubernetes上,Dapr控制面板包括dapr-sidecar-injector服务,它监视带有dapr.io/enabled
注解的新pod,并在pod中注入一个包含daprd
进程的容器。 在这种情况下,sidecar参数可以通过在Kubernetes annotations列中的此表 中所述的注解传递。
直接运行 sidecar
在大多数情况下,您不需要显式运行 daprd
,因为 sidecar 由 CLI (自托管模式)或 dapr-sidecar-injector 服务(Kubernetes)启动。 对于高级用例(调试、脚本部署等) daprd
进程可以直接启动。
要获取所有可用参数的详细列表,请运行 daprd --help
或查看这个表,该表概述了daprd
参数与CLI参数和Kubernetes注解的关系。
示例
-
通过指定应用程序的唯一 ID 来启动 sidecar。
注意:
--app-id
是一个必填字段,且不能包含点。daprd --app-id myapp
-
指定应用程序要监听的端口
daprd --app-id --app-port 5000
-
如果您正在使用多个自定义资源,并且想要指定资源定义文件的位置,请使用
--resources-path
参数:daprd --app-id myapp --resources-path <PATH-TO-RESOURCES-FILES>
-
如果已将组件和其他资源(例如弹性策略、订阅或配置)整理到单独的文件夹或共享文件夹中,则可以指定多个资源路径:
daprd --app-id myapp --resources-path <PATH-1-TO-RESOURCES-FILES> --resources-path <PATH-2-TO-RESOURCES-FILES>
-
在运行应用时启用 Prometheus 指标的收集
daprd --app-id myapp --enable-metrics
-
只监听 IPv4 和 IPv6 循环
daprd --app-id myapp --dapr-listen-addresses '127.0.0.1,[::1]'
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.