
Dapr 安装与介绍
Dapr 介绍
Github: https://github.com/dapr/dapr
Dapr是一种可移植的,事件驱动的,无服务器运行时,用于构建跨云和边缘的分布式应用程序。
更多关于Dapr的介绍可以参考B站的这篇(强烈推荐):
https://www.bilibili.com/video/BV1tf4y1m7mJ?share_source=copy_web
安装Dapr CLI
请提前准备好相关环境,以及Docker
我这里使用的是Ubuntu。
首先你自己觉得你自己的网络很好,能够直接从github下载就可以从官方的脚本进行下载。
此命令将最新的 linux Dapr CLI 安装到/usr/local/bin
:
wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash
如果您无权访问该sudo
命令或您的用户名不在sudoers
文件中,您可以通过DAPR_INSTALL_DIR
环境变量将 Dapr 安装到备用目录。
wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | DAPR_INSTALL_DIR="$HOME/dapr" /bin/bash
也可以通过二进制进行下载安装,访问该链接进行下载:https://github.com/dapr/cli/releases
# 解压dapr_linux_amd64.tar.gz
tar zxvf dapr_linux_amd64.tar.gz
cd release/linux_amd64
mv dapr /usr/local/bin
更多关于安装Dapr的环境细节请参考官网:https://docs.dapr.io/getting-started/install-dapr-cli/
验证安装
dapr
Docker初始化
Dapr 与您的应用程序一起作为sidecar
运行,在自托管模式下,这意味着它是您本地机器上的一个进程。 因此,初始化 Dapr 包括获取Dapr sidecar
二进制文件并将其安装到本地.
此外,默认初始化过程还创建了一个开发环境,帮助简化 Dapr 的应用开发。 这包括下列步骤:
1.运行一个用于状态存储和消息代理的Redis容器实例
2.运行一个用于提供可观察性的Zipkin容器实例
3.创建具有上述组件定义的 默认组件文件夹
4.运行用于本地演员支持的Dapr placement服务容器实例
(官方原话)
如果您使用sudo
运行您的 Docker 命令,或者安装路径是/usr/local/bin
(默认安装路径), 您需要在下面使用 sudo
。
# 当前版本1.3.0
dapr init
# 如果一切顺利,可以通过下面命令进行验证
dapr --version
验证组件目录已初始化
在 dapr init时,CLI 还创建了一个默认组件文件夹,其中包括几个 YAML 文件,其中包含state store、elevated 和 zipkin。 Dapr sidecar, 将读取这些文件。 告诉它使用Redis容器进行状态管理和消息传递,以及Zipkin容器来收集跟踪。
在 Linux/MacOS 中 Dapr 使用默认组件和文件的路径是 $HOME.dapr
。
Windows 中,Dapr 初始化路径到 %USERPROFILE%\.dapr\
。
并且Dapr还提供了自己的Dashborad,输入如下命令进行访问。
# 开通端口 9999
dapr dashboard -p 9999
好的好的,看起来一切都如此和谐,但在国内的用户可能会遇到诸多问题。我也难免,Azure是没问题。我在搞阿里云服务器的时候初始化失败了,貌似是因为dashboard下载不了。
为此我还特地发了一个issue:https://github.com/dapr/cli/issues/790
问题如下:
我也翻了一下他们以前的人遇到这方面问题的回答。让我找到了一个还不错的解决办法。
# 清理
dapr uninstall --all
# 重新初始化 其实就是换换版本
dapr init --dashboard-version=0.6.0 --runtime-version=1.2.2
本以为这样就行了结果,缓慢术打脸
至少让我们知道了要去下载这个万一对吧,所以我们可以先不择手段把这dashboard
玩意弄到手。然后开两个ssh
# 清理
dapr uninstall --all
# 第一个ssh 执行这句进行初始化时光速执行下面这句
dapr init --dashboard-version=0.6.0 --runtime-version=1.2.2
# 将我们下载好的dashboard移动到该目录下面
mv dashboard_linux_amd64.tar.gz ~/.dapr/bin/
就这样手(术)速成功了。但是当你访问网页时可能还是不行但是,运行环境至少是有的了。
Kubernetes Dapr初始化
这就要简单多了
dapr init -k
然后检测一下
dapr status -k
反正就挺一帆风顺的,看看有些啥玩意
kubectl get pod,deploy,svc -n dapr-system
众所周知LoadBalancer要钱,就为大伙破一次财。
kubectl expose deployment.apps/dapr-dashboard --type=LoadBalancer --port=80 --target-port=8080 --name dapr-dashboard-2 -n dapr-system
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

