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 annotate
dapr build-info
dapr completion
dapr components
dapr configurations
dapr dashboard
dapr help
dapr init
dapr invoke
dapr list
dapr logs
dapr mtls
dapr publish
dapr run
dapr status
dapr stop
dapr uninstall
dapr upgrade
dapr 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/components Windows: %USERPROFILE%\.dapr\components |
资源目录的路径。如果您已将资源组织到多个文件夹中(例如,一个文件夹中的组件,另一个文件夹中的弹性策略),您可以定义多个资源路径。请参见下面的示例。 | |
--app-channel-address |
127.0.0.1 |
应用程序监听的网络地址 | |
--runtime-path |
Dapr 运行时安装路径 | ||
--config , -c |
Linux/Mac: $HOME/.dapr/config.yaml Windows: %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/components Windows: %USERPROFILE%\.dapr\components |
在 Docker 网络中的任何容器中运行。使用 <hostname> 或 <hostname>:<port> 。如果省略端口,默认值为:
|
|
--scheduler-host-address |
Linux/Mac: $HOME/.dapr/components Windows: %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/components Windows: %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