Dapr微服務應用開發系列1 環境配置

2022-01-31 20:15:03 字數 2376 閱讀 1712

為了方便進行dapr開發,最好(其實不一定必須)首先在本機(開發機器)上安裝docker。安裝方式可以參考docker的官方文件:

如果你是windows平台,那麼需要選擇linux容器模式。對於我這樣的windows 10使用者而言,個人建議最好的方式就是把windows 10公升級到2004,並啟用wsl2,然後啟用docker desktop wsl 2 backend[1]。這種方式可以獲得很好的使用者體驗和效能。

通過如下指令碼在不同平台安裝最新的cli(dapr命令列工具):

powershell -command "iwr -useb | iex"

缺省會安裝到c:\dapr目錄

wget -q -o - | /bin/bash

缺省會安裝到/usr/local/bin目錄

curl -fssl | /bin/bash

缺省會安裝到/usr/local/bin目錄

或者通過homebrew來安裝:brew install dapr/tap/dapr-cli在本機安裝dapr執行時分為兩種模式,一種是完整模式,一種是簡易模式:

兩種模式下,有些配置也有所不同:

如果不想在本機安裝dapr的cli和runtime,還可以利用visual studio code remote - containers[2]的強大功能來實現開發環境的容器化。

dapr為各種支援的開發語言預設提供了開發容器,方便你把任何專案轉換為dapr應用。

大致步驟如下:

建立專案,(可選)引用對應語言的dapr sdk

在vs code中開啟專案的工作區(workspace)

在命令面板中輸入「remote-containers: add development container configuration files...」

在選擇開發容器的時候,輸入「dapr」來進行查詢,選擇對應的語言版本,比如「dapr with c#」

vs code會自動給你的專案新增相關的dockerfile和其他配置檔案(比如「.devcontainer」資料夾)

vs code檢測到.devcontainer資料夾後,會提示你是否要使用容器模式開啟

通過容器模式開啟後,會自動構建專案工作區的容器映象,同時還會額外啟動用於容器開發的placement和zipkin容器例項(名稱為:dapr_placement_dapr-dev-container和dapr_zipkin_dapr-dev-container)

開發容器如下圖所示:

使用這種開發容器帶來的好處就是:整個dapr開發的依賴環境可以通過dockerfile來自動配置完成。

雖然dapr可以執行到任意託管環境,不過目前最自然的選擇還是發布到 kubernetes 集群當中。

首先,你需要配置好乙個kubernetes集群,建議使用azure kubernetes service(aks),基本可以一鍵建立好集群[3]。

在做好kubectl和kubernetes集群的連線之後,就可以開始安裝dapr了。

如果是配置測試環境,那麼只需要執行如下命令就可以完成:

dapr init -k

如果要配置生產環境,那麼建議使用helm3來進行安裝:

helm repo add dapr 

helm repo update

kubectl create namespace dapr-system

helm install dapr dapr/dapr --namespace dapr-system

dapr安裝到kubernetes集群之後,會啟動如下pod:

至此,dapr的開發、測試和生產環境就配置完成了,接下來就是進入到開發階段了。

當然,如果你需要解除安裝dapr環境的話,只需要執行如下命令:

dapr uninstall //解除安裝本機開發環境

dapr uninstall --all //解除安裝本機開發環境包括redis和zipkin容器例項

dapr uninstall --kubernetes //解除安裝kubernetes中的測試環境

helm uninstall dapr -n dapr-system //解除安裝kubernetes中的生產環境

[1] docker desktop wsl 2 backend: visual studio code remote - containers:

[3] quickstart: deploy an azure kubernetes service cluster using the azure cli:

Dapr微服務應用開發系列0 概述

題記 dapr是什麼,dapr包含什麼,為什麼要用dapr。dapr distributedapplicationruntime 是微軟azure內部創新孵化團隊的乙個開源專案,皆在解決微服務應用開發過程的一些共性問題。以官方文件的說法,dapr是乙個可移植 事件驅動的執行時,讓企業開發者更容易利用...

SpringCloud系列 1 初試微服務

微服務 之前在寫springboot的筆記時,就有提及到springcloud。springcloud提供了微服務的開箱即用。微服務近年來非常火,到處都在說微服務。筆者也對微服務相當感興趣,因為筆者在校期間 n年前 曾經和很多同學聊過,如果所有的應用並不是單體的,而是通過很多系統提供api這會變成怎...

微服務之路1 搭建Vue開發環境

1.node.js 安裝webpack 需要有node.js 環境 2.npm node package manager,nodejs的包管理器,用於node外掛程式的安裝 解除安裝 管理以來等。2.webpack 是乙個前端資源載入 打包工具。它將根據模組的依賴關係進行靜態分析,然後將這些模組按照...