This is the multi-page printable view of this section. Click here to print.
Dapr CLI 参考文档
- 1: Dapr 命令行界面 (CLI) 参考
- 2: annotate CLI 命令参考
- 3: build-info CLI 命令指南
- 4: completion CLI 命令参考
- 5: components CLI 命令指南
- 6: dashboard CLI 命令参考
- 7: help 命令行界面命令参考
- 8: init CLI 命令参考
- 9: invoke CLI 命令参考
- 10: list CLI 命令参考
- 11: logs CLI 命令参考
- 12: mtls CLI 命令参考
- 12.1: mtls export CLI 命令参考
- 12.2: mtls expiry CLI 命令指南
- 12.3: mtls renew certificate CLI 命令参考
- 13: status CLI 命令参考
- 14: stop CLI 命令参考
- 15: version CLI 命令参考
- 16: 发布命令行工具参考
- 17: 配置 CLI 命令参考
- 18: 升级 CLI 命令参考
- 19: 卸载 CLI 命令参考
- 20: 运行 CLI 命令参考
1 - Dapr 命令行界面 (CLI) 参考
Dapr CLI 使您能够在本地开发环境或 Kubernetes 集群上配置 Dapr,提供调试支持,并启动和管理 Dapr 实例。
__
____/ /___ _____ _____
/ __ / __ '/ __ \/ ___/
/ /_/ / /_/ / /_/ / /
\__,_/\__,_/ .___/_/
/_/
===============================
分布式应用运行时
用法:
dapr [命令]
可用命令:
annotate 为 Kubernetes 配置添加 Dapr 注释。适用平台:Kubernetes
build-info 显示 Dapr CLI 和运行时的构建信息
completion 生成 shell 自动补全脚本
components 列出所有 Dapr 组件。适用平台:Kubernetes
configurations 列出所有 Dapr 配置。适用平台:Kubernetes
dashboard 启动 Dapr 仪表板。适用平台:Kubernetes 和 本地托管
help 获取任何命令的帮助信息
init 在支持的平台上安装 Dapr。适用平台:Kubernetes 和 本地托管
invoke 调用指定 Dapr 应用程序上的方法。适用平台:本地托管
list 列出所有 Dapr 实例。适用平台:Kubernetes 和 本地托管
logs 获取应用程序的 Dapr sidecar 日志。适用平台:Kubernetes
mtls 检查 mTLS 是否已启用。适用平台:Kubernetes
publish 发布一个 pubsub 事件。适用平台:本地托管
run 运行 Dapr 并可选择与您的应用程序一起运行。适用平台:本地托管
status 显示 Dapr 服务的健康状态。适用平台:Kubernetes
stop 停止 Dapr 实例及其关联的应用程序。适用平台:本地托管
uninstall 卸载 Dapr 运行时。适用平台:Kubernetes 和 本地托管
upgrade 升级集群中的 Dapr 控制平面安装。适用平台:Kubernetes
version 显示 Dapr 运行时和 CLI 的版本信息
标志:
-h, --help 获取 dapr 的帮助信息
--log-as-json 以 JSON 格式记录输出
-v, --version 获取 dapr 的版本信息
使用 "dapr [command] --help" 获取有关命令的更多信息。
命令参考
您可以通过以下链接了解每个 Dapr 命令的详细信息。
dapr annotatedapr build-infodapr completiondapr componentsdapr configurationsdapr dashboarddapr helpdapr initdapr invokedapr listdapr logsdapr mtlsdapr publishdapr rundapr statusdapr stopdapr uninstalldapr upgradedapr version
环境变量
一些 Dapr 标志可以通过环境变量进行设置(例如,dapr init 命令的 --network 标志可以通过 DAPR_NETWORK 环境变量设置)。请注意,在命令行中指定的标志会覆盖任何已设置的环境变量。
2 - annotate CLI 命令参考
描述
在 Kubernetes 配置中添加 Dapr 注解。这允许您在部署文件中添加或更改 Dapr 注解。有关每个可用注解的详细说明,请参见 Kubernetes 注解。
支持的平台
用法
dapr annotate [flags] CONFIG-FILE
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--kubernetes, -k | 将注解应用于 Kubernetes 资源。必需 | ||
--api-token-secret | 用于 API token 的 secret | ||
--app-id, -a | 要注解的应用 ID | ||
--app-max-concurrency | -1 | 允许的最大并发请求数 | |
--app-port, -p | -1 | 用于暴露应用的端口 | |
--app-protocol | 应用使用的协议:http(默认),grpc,https,grpcs,h2c | ||
--app-token-secret | 用于应用 token 的 secret | ||
--config, -c | 要注解的配置文件 | ||
--cpu-limit | 为 sidecar 设置的 CPU 限制。查看有效值 这里。 | ||
--cpu-request | 为 sidecar 设置的 CPU 请求。查看有效值 这里。 | ||
--dapr-image | 用于 dapr sidecar 容器的镜像 | ||
--enable-debug | false | 启用调试 | |
--enable-metrics | false | 启用指标 | |
--enable-profile | false | 启用分析 | |
--env | 要设置的环境变量(键值对,逗号分隔) | ||
--graceful-shutdown-seconds | -1 | 等待应用关闭的秒数 | |
--help, -h | annotate 的帮助信息 | ||
--listen-addresses | sidecar 监听的地址。要监听所有 IPv4 地址,请使用 0.0.0.0。要监听所有 IPv6 地址,请使用 [::]。 | ||
--liveness-probe-delay | -1 | sidecar 用于存活探测的延迟。阅读更多 这里。 | |
--liveness-probe-period | -1 | sidecar 用于存活探测的周期。阅读更多 这里。 | |
--liveness-probe-threshold | -1 | sidecar 用于存活探测的阈值。阅读更多 这里。 | |
--liveness-probe-timeout | -1 | sidecar 用于存活探测的超时。阅读更多 这里。 | |
--log-level | 使用的日志级别 | ||
--max-request-body-size | -1 | 使用的最大请求体大小 | |
--http-read-buffer-size | -1 | HTTP 头读取缓冲区的最大大小(以千字节为单位) | |
--memory-limit | 为 sidecar 设置的内存限制。查看有效值 这里 | ||
--memory-request | 为 sidecar 设置的内存请求 | ||
--metrics-port | -1 | 用于暴露指标的端口 | |
--namespace, -n | 资源目标所在的命名空间(仅在设置 --resource 时可用) | ||
--readiness-probe-delay | -1 | sidecar 用于就绪探测的延迟。阅读更多 这里。 | |
--readiness-probe-period | -1 | sidecar 用于就绪探测的周期。阅读更多 这里。 | |
--readiness-probe-threshold | -1 | sidecar 用于就绪探测的阈值。阅读更多 这里。 | |
--readiness-probe-timeout | -1 | sidecar 用于就绪探测的超时。阅读更多 这里。 | |
--resource, -r | 要注解的 Kubernetes 资源目标 | ||
--enable-api-logging | 为 Dapr sidecar 启用 API 日志记录 | ||
--unix-domain-socket-path | 用于与 Dapr sidecar 通信的 Linux 域套接字路径 | ||
--volume-mounts | 要以只读模式挂载到 sidecar 容器的 pod 卷列表 | ||
--volume-mounts-rw | 要以读写模式挂载到 sidecar 容器的 pod 卷列表 | ||
--disable-builtin-k8s-secret-store | 禁用内置的 Kubernetes secret 存储 | ||
--placement-host-address | Dapr actor 放置服务器的地址列表(逗号分隔) |
警告
如果未使用--app-id, -a 提供应用 ID,将自动生成一个格式为 <namespace>-<kind>-<name> 的 ID。示例
# 注解输入中找到的第一个部署
kubectl get deploy -l app=node -o yaml | dapr annotate -k - | kubectl apply -f -
# 按名称在链中注解多个部署
kubectl get deploy -o yaml | dapr annotate -k -r nodeapp - | dapr annotate -k -r pythonapp - | kubectl apply -f -
# 从文件或目录中按名称注解特定命名空间中的部署
dapr annotate -k -r nodeapp -n namespace mydeploy.yaml | kubectl apply -f -
# 从 URL 按名称注解部署
dapr annotate -k -r nodeapp --log-level debug https://raw.githubusercontent.com/dapr/quickstarts/master/tutorials/hello-kubernetes/deploy/node.yaml | kubectl apply -f -
3 - build-info CLI 命令指南
描述
获取 dapr 和 daprd 可执行文件的版本和 Git 提交信息。
支持的平台
用法
dapr build-info
相关信息
您可以通过运行 daprd --build-info 命令直接获取 daprd 的构建信息。
4 - completion CLI 命令参考
描述
生成用于 shell 的自动补全脚本
用法
dapr completion [flags]
dapr completion [command]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--help, -h | 显示此帮助信息 |
示例
在 macOS 上使用 Homebrew 安装 bash 自动补全
如果你使用的是 macOS 自带的 Bash 3.2:
brew install bash-completion
或者,如果你使用的是 Bash 4.1+:
brew install bash-completion@2
将补全脚本添加到你的补全目录中:
dapr completion bash > $(brew --prefix)/etc/bash_completion.d/dapr
source ~/.bash_profile
在 Linux 上安装 bash 自动补全
如果 Linux 上未安装 bash-completion,请通过发行版的包管理器安装 bash-completion 包。
将 dapr 的 bash 补全代码加载到当前 shell:
source <(dapr completion bash)
将 bash 补全代码写入文件,并从 .bash_profile 中加载:
dapr completion bash > ~/.dapr/completion.bash.inc
printf "source '$HOME/.dapr/completion.bash.inc'" >> $HOME/.bash_profile
source $HOME/.bash_profile
在 macOS 上使用 Homebrew 安装 zsh 自动补全
如果 macOS 上未安装 zsh-completion,请安装 ‘zsh-completion’ 包:
brew install zsh-completions
设置 dapr 的 zsh 补全代码在 zsh 启动时自动加载:
dapr completion zsh > "${fpath[1]}/_dapr"
source ~/.zshrc
在 Linux 上安装 zsh 自动补全
如果 Linux 上未安装 zsh-completion,请通过发行版的包管理器安装 ‘zsh-completion’ 包。
将 dapr 的 zsh 补全代码加载到当前 shell:
source <(dapr completion zsh)
设置 dapr 的 zsh 补全代码在 zsh 启动时自动加载:
dapr completion zsh > "${fpath[1]}/_dapr"
在 Windows 上安装 Powershell 自动补全
如果 $PROFILE 不存在,请创建:
if (!(Test-Path -Path $PROFILE )){ New-Item -Type File -Path $PROFILE -Force }
将补全脚本添加到你的配置文件中:
dapr completion powershell >> $PROFILE
可用命令
bash 生成 bash 自动补全脚本
powershell 生成 powershell 自动补全脚本
zsh 生成 zsh 自动补全脚本
5 - components CLI 命令指南
描述
列出所有 Dapr 组件。
支持的平台
用法
dapr components [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--kubernetes, -k | false | 在 Kubernetes 集群中列出所有 Dapr 组件(此模式下必需) | |
--all-namespaces, -A | true | 若为 true,列出所有命名空间的 Dapr 组件 | |
--help, -h | 显示帮助信息 | ||
--name, -n | 指定要显示的组件名称(可选) | ||
--namespace | 列出指定命名空间中的所有组件 | ||
--output, -o | list | 输出格式(选项:json、yaml 或 list) |
示例
# 列出 Kubernetes 模式下所有命名空间的 Dapr 组件
dapr components -k
# 列出 Kubernetes 模式下特定命名空间的 Dapr 组件
dapr components -k --namespace default
# 显示 Kubernetes 模式下特定的 Dapr 组件
dapr components -k -n mycomponent
# 列出 Kubernetes 模式下所有命名空间的 Dapr 组件
dapr components -k --all-namespaces
警告信息
此命令可能会显示警告信息。
根证书更新警告
如果部署到 Kubernetes 集群的 mtls 根证书在 30 天内过期,将显示以下警告信息:
您的 Kubernetes 集群的 Dapr 根证书将在 <n> 天后过期。到期日期:<date:time> UTC。
请参阅 docs.dapr.io 获取证书更新说明,以避免服务中断。
6 - dashboard CLI 命令参考
描述
启动 Dapr 仪表板。
支持的平台类型
用法
dapr dashboard [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--address, -a | localhost | 监听的地址。仅接受 IP 地址或 localhost 作为值 | |
--help, -h | 显示帮助信息 | ||
--kubernetes, -k | false | 通过本地代理在浏览器中打开 Dapr 仪表板以连接到 Kubernetes 集群 | |
--namespace, -n | dapr-system | Dapr 仪表板运行所在的命名空间 | |
--port, -p | 8080 | 提供 Dapr 仪表板服务的本地端口 | |
--version, -v | false | 显示 Dapr 仪表板的版本信息 |
示例
# 本地启动仪表板
dapr dashboard
# 在指定端口本地启动仪表板服务
dapr dashboard -p 9999
# 通过端口转发连接到 Kubernetes 中运行的仪表板服务
dapr dashboard -k
# 在所有地址上通过指定端口转发连接到 Kubernetes 中运行的仪表板服务
dapr dashboard -k -p 9999 --address 0.0.0.0
# 通过指定端口转发连接到 Kubernetes 中运行的仪表板服务
dapr dashboard -k -p 9999
警告信息 - Kubernetes 模式
此命令可能会显示警告信息。
根证书更新警告
如果部署在 Kubernetes 集群中的 mtls 根证书将在 30 天内过期,将显示以下警告信息:
您的 Kubernetes 集群的 Dapr 根证书将在 <n> 天后过期。到期日期:<date:time> UTC。
请访问 docs.dapr.io 获取证书更新说明,以避免服务中断。
7 - help 命令行界面命令参考
描述
Help 命令为应用程序中的任何命令提供帮助。
用法
dapr help [command] [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--help, -h | 显示此帮助信息 |
8 - init CLI 命令参考
描述
在支持的平台上安装 Dapr。
支持的平台
用法
dapr init [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--dashboard-version | latest | 要安装的 Dapr 仪表板版本,例如:1.0.0 | |
--enable-ha | false | 启用高可用性 (HA) 模式 | |
--enable-mtls | true | 在集群中启用 mTLS | |
--from-dir | 本地目录的路径,包含下载的 “Dapr 安装程序包” 版本,用于在隔离环境中 init | ||
--help, -h | 打印此帮助信息 | ||
--image-registry | 从指定的镜像注册表中拉取 Dapr 所需的容器镜像 | ||
--kubernetes, -k | false | 将 Dapr 部署到 Kubernetes 集群 | |
--namespace, -n | dapr-system | 要在其中安装 Dapr 的 Kubernetes 命名空间 | |
--network | 要安装和部署 Dapr 运行时的 Docker 网络 | ||
--runtime-version | latest | 要安装的 Dapr 运行时版本,例如:1.0.0 | |
--image-variant | 要用于 Dapr 运行时的镜像变体,例如:mariner | ||
--set | 在命令行上配置选项以传递给 Dapr Helm 图表和 Kubernetes 集群进行安装。可以在逗号分隔的列表中指定多个值,例如:key1=val1,key2=val2 | ||
--slim, -s | false | 从本地托管安装中排除放置服务、调度服务以及 Redis 和 Zipkin 容器 | |
--timeout | 300 | Kubernetes 安装的等待超时时间 | |
--wait | false | 等待 Kubernetes 初始化完成 | |
| N/A | DAPR_DEFAULT_IMAGE_REGISTRY | 用于指定默认的容器注册表以从中拉取镜像。当其值设置为 GHCR 或 ghcr 时,它从 Github 容器注册表中拉取所需的镜像。要默认使用 Docker hub,请取消设置环境变量或将其留空 | |
| N/A | DAPR_HELM_REPO_URL | 指定私有 Dapr Helm 图表的 URL | |
| N/A | DAPR_HELM_REPO_USERNAME | 私有 Helm 图表的用户名 | 访问私有 Dapr Helm 图表所需的用户名。如果可以公开访问,则无需设置此环境变量 |
| N/A | DAPR_HELM_REPO_PASSWORD | 私有 Helm 图表的密码 | 访问私有 Dapr Helm 图表所需的密码。如果可以公开访问,则无需设置此环境变量 |
--container-runtime | docker | 用于传递除 Docker 之外的其他容器运行时。支持的容器运行时有:docker、podman | |
--dev | 在 Kubernetes 中运行时创建 Redis 和 Zipkin 部署。 | ||
--scheduler-volume | 仅限本地托管。可选地,您可以为调度服务数据目录指定一个卷。默认情况下,如果没有此标志,调度数据不会持久化且不具备重启恢复能力。 |
示例
安装
通过拉取放置、调度、Redis 和 Zipkin 的容器镜像来安装 Dapr。默认情况下,这些镜像从 Docker Hub 拉取。
默认情况下,为调度服务创建一个
dapr_scheduler本地卷,用作数据库目录。此卷的主机文件位置可能位于/var/lib/docker/volumes/dapr_scheduler/_data或~/.local/share/containers/storage/volumes/dapr_scheduler/_data,具体取决于您的容器运行时。
dapr init
Dapr 也可以在没有 Docker 的情况下运行精简本地托管模式。
dapr init -s
要切换到 Dapr Github 容器注册表作为默认注册表,请将
DAPR_DEFAULT_IMAGE_REGISTRY环境变量值设置为GHCR。要切换回 Docker Hub 作为默认注册表,请取消设置此环境变量。
指定运行时版本
您还可以指定特定的运行时版本。默认情况下,使用最新版本。
dapr init --runtime-version 1.13.4
安装带有镜像变体
您还可以安装带有特定镜像变体的 Dapr,例如:mariner。
dapr init --image-variant mariner
使用 Dapr 安装程序包
在离线或隔离环境中,您可以下载 Dapr 安装程序包并使用它来安装 Dapr,而不是从网络拉取镜像。
dapr init --from-dir <path-to-installer-bundle-directory>
Dapr 也可以在没有 Docker 的隔离环境中以精简本地托管模式运行。
dapr init -s --from-dir <path-to-installer-bundle-directory>
指定私有注册表
您还可以指定一个私有注册表以从中拉取容器镜像。需要将这些镜像发布到私有注册表中,如下所示,以便 Dapr CLI 能够通过 dapr init 命令成功拉取它们:
- Dapr 运行时容器镜像(dapr) (用于运行放置) - dapr/dapr:
- Redis 容器镜像(rejson) - dapr/3rdparty/rejson
- Zipkin 容器镜像(zipkin) - dapr/3rdparty/zipkin
Dapr 使用的所有必需镜像都需要位于 dapr 路径下。第三方镜像必须发布在 dapr/3rdparty 路径下。
image-registry URI 遵循 docker.io/<username> 格式。
dapr init --image-registry docker.io/username
此命令解析完整的镜像 URI,如下所示 -
- 放置容器镜像(dapr) - docker.io/username/dapr/dapr:
- Redis 容器镜像(rejson) - docker.io/username/dapr/3rdparty/rejson
- zipkin 容器镜像(zipkin) - docker.io/username/dapr/3rdparty/zipkin
在设置 Dapr 时,您可以指定不同的容器运行时。如果省略 --container-runtime 标志,默认的容器运行时是 Docker。
dapr init --container-runtime podman
使用 Docker 网络
您可以将本地容器部署到 Docker 网络中,这对于部署到单独的网络或使用 Docker Compose 进行本地开发以部署应用程序非常有用。
创建 Docker 网络。
docker network create mynet
初始化 Dapr 并指定创建的 Docker 网络。
dapr init --network mynet
验证所有容器是否在指定网络中运行。
docker ps
从该 Docker 网络中卸载 Dapr。
dapr uninstall --all --network mynet
dapr init -k
使用 --dev 标志以开发模式初始化 Dapr,其中包括 Zipkin 和 Redis。
dapr init -k --dev
您可以使用 --wait 标志等待安装完成其部署。
默认超时时间为 300 秒(5 分钟),但可以使用 --timeout 标志自定义。
dapr init -k --wait --timeout 600
您还可以指定特定的运行时版本。
dapr init -k --runtime-version 1.4.0
使用 --set 标志在 Dapr 安装期间配置一组 Helm 图表值 以帮助设置 Kubernetes 集群。
dapr init -k --set global.tag=1.0.0 --set dapr_operator.logLevel=error
您还可以指定一个私有注册表以从中拉取容器镜像。目前 dapr init -k 不使用 sentry、operator、placement、scheduler 和 sidecar 的特定镜像。它仅依赖于 Dapr 运行时容器镜像 dapr 来处理所有这些镜像。
场景 1:dapr 镜像直接托管在私有注册表的根文件夹下 -
dapr init -k --image-registry docker.io/username
场景 2:dapr 镜像托管在私有注册表的新/不同目录下 -
dapr init -k --image-registry docker.io/username/<directory-name>
9 - invoke CLI 命令参考
描述
调用指定 Dapr 应用程序的方法。
支持的平台
- 自托管(即在本地或私有服务器上运行)
用法
dapr invoke [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--app-id, -a | APP_ID | 目标应用程序的 ID | |
--help, -h | 显示帮助信息 | ||
--method, -m | 需要调用的方法名称 | ||
--data, -d | JSON 格式的数据字符串(可选) | ||
--data-file, -f | 包含 JSON 格式数据的文件(可选) | ||
--verb, -v | POST | 使用的 HTTP 请求方法 |
示例
# 使用 POST 请求方法调用目标应用的一个示例方法
dapr invoke --app-id target --method sample --data '{"key":"value"}'
# 使用 GET 请求方法调用目标应用的一个示例方法
dapr invoke --app-id target --method sample --verb GET
10 - list CLI 命令参考
描述
显示 Dapr 实例列表。
支持的平台
用法
dapr list [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--all-namespaces, -A | false | 列出所有命名空间的 Dapr pods(可选) | |
--help, -h | 显示帮助信息 | ||
--kubernetes, -k | false | 列出 Kubernetes 集群中的所有 Dapr pods(可选) | |
--namespace, -n | default | 列出 Kubernetes 指定命名空间的 Dapr pods。仅与 -k 标志一起使用(可选) | |
--output, -o | table | 列表的输出格式。有效值为:json、yaml 或 table |
示例
# 列出本地托管模式下的 Dapr 实例
dapr list
# 列出 Kubernetes 模式下所有命名空间的 Dapr 实例
dapr list -k
# 以 JSON 格式列出 Dapr 实例
dapr list -o json
# 在 Kubernetes 模式下列出特定命名空间的 Dapr 实例
dapr list -k --namespace default
# 在 Kubernetes 模式下列出所有命名空间的 Dapr 实例
dapr list -k --all-namespaces
警告信息 - Kubernetes 环境
此命令可能会显示警告信息。
根证书更新警告
如果部署到 Kubernetes 集群的 mtls 根证书在 30 天内过期,将显示以下警告信息:
Kubernetes 集群的 Dapr 根证书将在 <n> 天内过期。到期日期:<date:time> UTC。
请参阅 docs.dapr.io 以获取证书更新说明,以避免服务中断。
11 - logs CLI 命令参考
描述
获取应用程序的 Dapr sidecar 的日志。
支持的平台环境
用法
dapr logs [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--app-id, -a | APP_ID | 需要获取日志的应用程序 ID | |
--help, -h | 显示帮助信息 | ||
--kubernetes, -k | true | 从 Kubernetes 集群中获取日志 | |
--namespace, -n | default | 部署应用程序的 Kubernetes 命名空间 | |
--pod-name, -p | Kubernetes 中 pod 的名称,如果应用程序有多个 pod(可选) |
示例
# 从自定义命名空间中的目标 pod 获取示例应用的日志
dapr logs -k --app-id sample --pod-name target --namespace custom
警告信息
此命令可能会发出警告信息。
根证书更新警告
如果部署在 Kubernetes 集群中的 mTLS 根证书将在 30 天内过期,将显示以下警告信息:
您的 Kubernetes 集群的 Dapr 根证书将在 <n> 天后过期。到期日期:<date:time> UTC。
请访问 docs.dapr.io 查看证书更新说明,以避免服务中断。
``
12 - mtls CLI 命令参考
描述
检查 mTLS 是否已启用。
支持的平台
支持的平台包括 Kubernetes。
用法
dapr mtls [flags]
dapr mtls [command]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--help, -h | 显示帮助信息 | ||
--kubernetes, -k | false | 检查 Kubernetes 集群是否启用了 mTLS |
可用命令
expiry 检查根证书颁发机构 (CA) 证书的到期时间
export 将根证书颁发机构 (CA)、颁发者证书和颁发者密钥导出到本地文件
renew-certificate 更新现有的根证书颁发机构 (CA)、颁发者证书和颁发者密钥
命令参考
查看以下链接以获取每个子命令的详细信息。
示例
# 检查 Kubernetes 集群上是否启用了 mTLS
dapr mtls -k
警告信息
此命令可能会发出警告信息。
根证书更新警告
如果部署到 Kubernetes 集群的 mTLS 根证书将在 30 天内到期,将显示以下警告信息:
您的 Kubernetes 集群的 Dapr 根证书将在 <n> 天后到期。到期日期:<date:time> UTC。
请参阅 docs.dapr.io 以获取证书更新说明,以避免服务中断。
12.1 - mtls export CLI 命令参考
描述
将根证书颁发机构(CA)、颁发者证书和密钥导出到本地文件中
适用平台
用法
dapr mtls export [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--help, -h | 导出命令的帮助信息 | ||
--out, -o | 当前目录 | 证书保存的输出目录路径 |
示例
# 检查 Kubernetes 证书的到期时间
dapr mtls export -o ./certs
警告信息
此命令可能会发出警告信息。
根证书更新警告
如果部署到 Kubernetes 集群的 mtls 根证书在 30 天内到期,将显示以下警告信息:
您的 Kubernetes 集群的 Dapr 根证书将在 <n> 天后到期。到期日期:<date:time> UTC。
请访问 docs.dapr.io 获取证书更新说明,以避免服务中断。
12.2 - mtls expiry CLI 命令指南
描述
用于检查根证书颁发机构 (CA) 证书的有效期
支持的平台
用法
dapr mtls expiry [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--help, -h | 显示 expiry 的帮助信息 |
示例
# 查看 Kubernetes 证书的有效期
dapr mtls expiry
12.3 - mtls renew certificate CLI 命令参考
描述
此命令用于更新即将到期的 Dapr 证书。例如,Dapr Sentry 服务会生成应用程序使用的默认根证书和颁发者证书。详情请参见安全的 Dapr 到 Dapr 通信
支持的平台
用法
dapr mtls renew-certificate [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--help, -h | renew-certificate 的帮助信息 | ||
--kubernetes, -k | false | 支持的平台 | |
--valid-until | 365 天 | 新创建证书的有效期 | |
--restart | false | 重启 Dapr 控制平面服务(Sentry 服务、Operator 服务和 Placement 服务器) | |
--timeout | 300 秒 | 证书更新过程的超时时间 | |
--ca-root-certificate | 用户提供的 PEM 根证书的文件路径 | ||
--issuer-public-certificate | 用户提供的 PEM 颁发者证书的文件路径 | ||
--issuer-private-key | 用户提供的 PEM 颁发者私钥的文件路径 | ||
--private-key | 用户提供的用于生成根证书的 root.key 文件 |
示例
通过生成全新证书来更新证书
为 Kubernetes 集群生成新的根证书和颁发者证书,默认有效期为 365 天。证书不会立即应用于 Dapr 控制平面。
dapr mtls renew-certificate -k
为 Kubernetes 集群生成新的根证书和颁发者证书,默认有效期为 365 天,并重启 Dapr 控制平面服务。
dapr mtls renew-certificate -k --restart
为 Kubernetes 集群生成具有指定有效期的新的根证书和颁发者证书。
dapr mtls renew-certificate -k --valid-until <天数>
为 Kubernetes 集群生成具有指定有效期的新的根证书和颁发者证书,并重启 Dapr 控制平面服务。
dapr mtls renew-certificate -k --valid-until <天数> --restart
使用用户提供的证书更新证书
使用提供的 ca.pem、issuer.pem 和 issuer.key 文件路径为 Kubernetes 集群更新证书,并重启 Dapr 控制平面服务。
dapr mtls renew-certificate -k --ca-root-certificate <ca.pem> --issuer-private-key <issuer.key> --issuer-public-certificate <issuer.pem> --restart
使用提供的 ca.pem、issuer.pem 和 issuer.key 文件路径为 Kubernetes 集群更新证书。
dapr mtls renew-certificate -k --ca-root-certificate <ca.pem> --issuer-private-key <issuer.key> --issuer-public-certificate <issuer.pem>
使用提供的根私钥生成全新证书来更新证书
使用现有的私有 root.key 为 Kubernetes 集群生成新的根证书和颁发者证书,并设置指定的有效期。
dapr mtls renew-certificate -k --private-key myprivatekey.key --valid-until <天数>
使用现有的私有 root.key 为 Kubernetes 集群生成新的根证书和颁发者证书。
dapr mtls renew-certificate -k --private-key myprivatekey.key
13 - status CLI 命令参考
描述
显示 Dapr 服务的运行状态。
支持的平台类型
用法
dapr status -k
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--help, -h | 打印此帮助信息 | ||
--kubernetes, -k | false | 显示 Kubernetes 集群中 Dapr 服务的状态 |
示例
# 从 Kubernetes 获取 Dapr 服务的状态
dapr status -k
警告信息
此命令可能会发出警告信息。
根证书更新警告
如果部署到 Kubernetes 集群的 mtls 根证书在 30 天内过期,将显示以下警告信息:
Kubernetes 集群中的 Dapr 根证书将在 <n> 天后过期,具体到期日期为:<date:time> UTC。
请参阅 docs.dapr.io 以获取证书更新说明,以避免服务中断。
14 - stop CLI 命令参考
描述
停止 Dapr 实例及其相关应用程序。
适用平台
用法
dapr stop [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--app-id, -a | APP_ID | 要停止的应用程序 ID | |
--help, -h | 显示帮助信息 | ||
--run-file, -f | 使用多应用运行模板文件来同时停止多个应用程序。目前处于alpha阶段,仅在 Linux/MacOS 上可用 |
示例
# 停止 Dapr 应用程序
dapr stop --app-id <ID>
15 - version CLI 命令参考
描述
显示 dapr CLI 和 daprd 可执行文件的版本信息,可以选择普通格式或 JSON 格式。
支持的平台
用法
dapr version [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--help, -h | 显示此帮助信息 | ||
--output, -o | 输出格式(选项:json) |
示例
# 获取 Dapr CLI 和运行时的版本信息
dapr version --output json
相关信息
您可以通过运行 daprd --version 命令直接查看 daprd 的版本。
您也可以通过运行 dapr --version 命令获取普通格式的版本信息。
16 - 发布命令行工具参考
描述
发布一个发布-订阅事件。
支持的平台
用法
dapr publish [flags]
参数
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--publish-app-id, -i | 您要发布的应用程序的 ID | ||
--pubsub, -p | 发布-订阅组件的名称 | ||
--topic, -t | 要发布的主题 | ||
--data, -d | JSON 序列化的字符串(可选) | ||
--data-file, -f | 包含 JSON 序列化数据的文件(可选) | ||
--help, -h | 显示帮助信息 | ||
--metadata, -m | JSON 序列化的发布元数据(可选) | ||
--unix-domain-socket, -u | Unix 域套接字的路径(可选) |
示例
# 通过应用程序发布到目标发布-订阅系统中的示例主题
dapr publish --publish-app-id appId --topic sample --pubsub target --data '{"key":"value"}'
# 使用 Unix 域套接字通过应用程序发布到目标发布-订阅系统中的示例主题
dapr publish --enable-domain-socket --publish-app-id myapp --pubsub target --topic sample --data '{"key":"value"}'
# 通过应用程序在不使用云事件的情况下发布到目标发布-订阅系统中的示例主题
dapr publish --publish-app-id myapp --pubsub target --topic sample --data '{"key":"value"}' --metadata '{"rawPayload":"true"}'
17 - 配置 CLI 命令参考
描述
显示所有的 Dapr 配置项。
支持的平台
用法
dapr configurations [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--kubernetes, -k | false | 列出 Kubernetes 集群中的所有 Dapr 配置(必选项)。 | |
--all-namespaces, -A | true | 若选择此项,则列出所有命名空间中的所有 Dapr 配置(可选)。 | |
--namespace | 列出特定命名空间中的 Dapr 配置。 | ||
--name, -n | 打印特定的 Dapr 配置。(可选) | ||
--output, -o | list | 输出格式(选项:json 或 yaml 或 list) | |
--help, -h | 打印此帮助信息 |
示例
# 在 Kubernetes 模式下列出所有命名空间中的 Dapr 配置
dapr configurations -k
# 在 Kubernetes 模式下列出特定命名空间中的 Dapr 配置
dapr configurations -k --namespace default
# 在 Kubernetes 模式下打印特定的 Dapr 配置
dapr configurations -k -n appconfig
# 在 Kubernetes 模式下列出所有命名空间中的 Dapr 配置
dapr configurations -k --all-namespaces
警告信息
此命令可能会显示警告信息。
根证书更新警告
如果部署到 Kubernetes 集群的 mtls 根证书在 30 天内过期,将显示以下警告信息:
您的 Kubernetes 集群的 Dapr 根证书将在 <n> 天后过期。到期日期:<date:time> UTC。
请访问 docs.dapr.io 查看证书更新说明,以避免服务中断。
18 - 升级 CLI 命令参考
描述
在支持的托管平台上升级或回退 Dapr。
警告
版本升级或回退应逐步进行,包括小版本的更新。
在回退之前,请确认组件是向后兼容的,并且应用程序代码没有使用以前版本的 Dapr 不支持的 API。
支持的平台
用法
dapr upgrade [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--help, -h | 显示帮助信息 | ||
--kubernetes, -k | false | 在 Kubernetes 集群中升级/回退 Dapr | |
--runtime-version | latest | 要升级/回退到的 Dapr 运行时版本,例如:1.0.0 | |
--set | 在命令行上设置值(可以指定多个值或用逗号分隔:key1=val1,key2=val2) | ||
--image-registry | 从指定的镜像注册表中拉取 Dapr 所需的容器镜像 |
示例
# 在 Kubernetes 中将 Dapr 升级到最新版本
dapr upgrade -k
# 在 Kubernetes 中升级或回退到指定版本的 Dapr 运行时
dapr upgrade -k --runtime-version 1.2
# 在 Kubernetes 中升级或回退到指定版本的 Dapr 运行时并设置值
dapr upgrade -k --runtime-version 1.2 --set global.logAsJson=true
# 使用私有注册表进行升级或回退,如果您在托管 Dapr 镜像时使用了私有注册表并在执行 `dapr init -k` 时使用了它
# 场景 1:Dapr 镜像直接托管在私有注册表的根目录下 -
dapr init -k --image-registry docker.io/username
# 场景 2:Dapr 镜像托管在私有注册表的不同目录下 -
dapr init -k --image-registry docker.io/username/<directory-name>
警告信息
此命令可能会发出警告信息。
根证书更新警告
如果部署到 Kubernetes 集群的 mtls 根证书将在 30 天内过期,则会显示以下警告信息:
您的 Kubernetes 集群的 Dapr 根证书将在 <n> 天后过期。到期日期:<date:time> UTC。
请参阅 docs.dapr.io 以获取证书更新说明,以避免服务中断。
相关链接
19 - 卸载 CLI 命令参考
描述
卸载 Dapr 运行环境。
支持的平台
用法
dapr uninstall [flags]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--all | false | 移除 Redis、Zipkin 容器以及默认 Dapr 目录(位于 $HOME/.dapr 或 %USERPROFILE%\.dapr\),但保留调度服务和 actor 放置服务容器。 | |
--help, -h | 显示帮助信息 | ||
--kubernetes, -k | false | 从 Kubernetes 集群中卸载 Dapr | |
--namespace, -n | dapr-system | 从指定的 Kubernetes 命名空间卸载 Dapr | |
--container-runtime | docker | 指定使用 Docker 以外的容器运行时。支持的选项包括:docker,podman |
示例
从自托管模式卸载
dapr uninstall
您还可以使用 --all 选项来移除 .dapr 目录、Redis、Placement、Scheduler 和 Zipkin 容器
dapr uninstall --all
在配置 Dapr 时,您可以指定不同的容器运行时。如果省略 --container-runtime 标志,默认使用 Docker。
dapr uninstall --all --container-runtime podman
从 Kubernetes 卸载
dapr uninstall -k
20 - 运行 CLI 命令参考
描述
运行 Dapr,并且可以选择同时运行您的应用程序。完整的 daprd 参数、CLI 参数和 Kubernetes 注释的对比列表可以在这里找到。
支持的平台
用法
dapr run [flags] [command]
标志
| 名称 | 环境变量 | 默认值 | 描述 |
|---|---|---|---|
--app-id, -a | APP_ID | 您的应用程序的 ID,用于服务发现。不能包含点。 | |
--app-max-concurrency | unlimited | 应用程序的并发级别;默认是无限制 | |
--app-port, -p | APP_PORT | 您的应用程序正在监听的端口 | |
--app-protocol, -P | http | Dapr 用于与应用程序通信的协议。有效值为:http、grpc、https(带 TLS 的 HTTP)、grpcs(带 TLS 的 gRPC)、h2c(HTTP/2 明文) | |
--resources-path, -d | Linux/Mac: $HOME/.dapr/componentsWindows: %USERPROFILE%\.dapr\components | 资源目录的路径。如果您已将资源组织到多个文件夹中(例如,一个文件夹中的组件,另一个文件夹中的弹性策略),您可以定义多个资源路径。请参见下面的示例。 | |
--app-channel-address | 127.0.0.1 | 应用程序监听的网络地址 | |
--runtime-path | Dapr 运行时安装路径 | ||
--config, -c | Linux/Mac: $HOME/.dapr/config.yamlWindows: %USERPROFILE%\.dapr\config.yaml | Dapr 配置文件 | |
--dapr-grpc-port, -G | DAPR_GRPC_PORT | 50001 | Dapr 监听的 gRPC 端口 |
--dapr-internal-grpc-port, -I | 50002 | Dapr 内部 API 监听的 gRPC 端口。用于开发期间解决 mDNS 缓存导致的服务调用失败问题,或配置防火墙后面的 Dapr sidecar。可以是大于 1024 的任何值,并且每个应用程序必须不同。 | |
--dapr-http-port, -H | DAPR_HTTP_PORT | 3500 | Dapr 监听的 HTTP 端口 |
--enable-profiling | false | 通过 HTTP 端点启用 “pprof” 性能分析 | |
--help, -h | 打印帮助信息 | ||
--run-file, -f | Linux/MacOS: $HOME/.dapr/dapr.yaml | 使用多应用程序运行模板文件同时运行多个应用程序。目前处于alpha阶段,仅在 Linux/MacOS 上可用 | |
--image | 使用自定义 Docker 镜像。格式为 Docker Hub 的 repository/image,或自定义注册表的 example.com/repository/image。 | ||
--log-level | info | 日志详细程度。有效值为:debug、info、warn、error、fatal 或 panic | |
--enable-api-logging | false | 启用从应用程序到 Dapr 的所有 API 调用的日志记录 | |
--metrics-port | DAPR_METRICS_PORT | 9090 | Dapr 发送其指标信息的端口 |
--profile-port | 7777 | 配置文件服务器监听的端口 | |
--placement-host-address | Linux/Mac: $HOME/.dapr/componentsWindows: %USERPROFILE%\.dapr\components | 在 Docker 网络中的任何容器中运行。使用 <hostname> 或 <hostname>:<port>。如果省略端口,默认值为:
| |
--scheduler-host-address | Linux/Mac: $HOME/.dapr/componentsWindows: %USERPROFILE%\.dapr\components | 在 Docker 网络中的任何容器中运行。使用 <hostname> 或 <hostname>:<port>。如果省略端口,默认值为:
| |
--enable-app-health-check | false | 使用 app-protocol 定义的协议启用应用程序的健康检查 | |
--app-health-check-path | 用于健康检查的路径;仅限 HTTP | ||
--app-health-probe-interval | 以秒为单位探测应用程序健康状况的间隔 | ||
--app-health-probe-timeout | 应用程序健康探测的超时时间,以毫秒为单位 | ||
--app-health-threshold | 应用程序被视为不健康的连续失败次数 | ||
--unix-domain-socket, -u | Unix 域套接字目录挂载的路径。如果指定,与 Dapr sidecar 的通信使用 Unix 域套接字,与使用 TCP 端口相比,具有更低的延迟和更高的吞吐量。在 Windows 上不可用。 | ||
--dapr-http-max-request-size | 4 | 请求体的最大大小,以 MB 为单位。 | |
--dapr-http-read-buffer-size | 4 | HTTP 读取缓冲区的最大大小,以 KB 为单位。这也限制了 HTTP 头的最大大小。默认值为 4 KB | |
--kubernetes, -k | 在 Kubernetes 上运行 Dapr,并用于 Kubernetes 上的多应用程序运行模板文件。 | ||
--components-path, -d | Linux/Mac: $HOME/.dapr/componentsWindows: %USERPROFILE%\.dapr\components | 已弃用,建议使用 --resources-path |
示例
# 运行一个 .NET 应用程序
dapr run --app-id myapp --app-port 5000 -- dotnet run
# 使用 Unix 域套接字运行一个 .Net 应用程序
dapr run --app-id myapp --app-port 5000 --unix-domain-socket /tmp -- dotnet run
# 运行一个 Java 应用程序
dapr run --app-id myapp -- java -jar myapp.jar
# 运行一个监听端口 3000 的 NodeJs 应用程序
dapr run --app-id myapp --app-port 3000 -- node myapp.js
# 运行一个 Python 应用程序
dapr run --app-id myapp -- python myapp.py
# 仅运行 sidecar
dapr run --app-id myapp
# 运行一个用 Go 编写的 gRPC 应用程序(监听端口 3000)
dapr run --app-id myapp --app-port 5000 --app-protocol grpc -- go run main.go
# 运行一个启用 API 日志记录的监听端口 3000 的 NodeJs 应用程序
dapr run --app-id myapp --app-port 3000 --enable-api-logging -- node myapp.js
# 传递多个资源路径
dapr run --app-id myapp --resources-path path1 --resources-path path2
# 运行多应用程序运行模板文件
dapr run -f dapr.yaml
# 在 Kubernetes 上运行多应用程序运行模板文件
dapr run -k -f dapr.yaml