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