本篇主要講述一下github上基於Dapr實現的商城demo在(K8s or K3s)環境中的部署實踐,本文環境基於k3s&rancher2.6.3
1. 前後端分離專案,前端Blazor專案,系統入口,傳送api請求到apigateway
2. API 閘道器從前端使用者端抽象出後端核心微服務,為後端呼叫總入口。 它是使用 Envoy(一個高效能的開放原始碼服務代理)實現的。 Envoy 將傳入請求路由到後端微服務。 大多數請求都是簡單的 CRUD 操作(例如,從目錄中獲取品牌列表),通過直接呼叫後端微服務進行處理。通過轉換uri請求地址,通過Dapr的邊車就行通訊
3. 核心後端微服務:購物車,商品管理,訂單管理,支付管理
4. 事件匯流排包裝 Dapr 釋出/訂閱元件。 它實現了跨微服務非同步釋出/訂閱訊息傳送。
關於Dapr安裝見前面文章:https://www.cnblogs.com/kunwn/p/16271944.html
部署:sudo helm install --set hostName=eshop.local.com myeshop .
解除安裝:sudo helm uninstall myeshop
指定路徑解除安裝:sudo helm uninstall myeshop /eShopOnDapr
壓縮包:sudo helm package eShopOnDapr
部署:sudo helm install eshop eshopondapr-1.0.0.tgz #注意:壓縮包名稱改為小寫,否則會報錯
解除安裝:sudo helm uninstall eshop eshopondapr-1.0.0.tgz
sudo kubectl get ingress -n eshopondapr
sudo kubectl port-forward $(sudo kubectl get pods --selector "app.kubernetes.io/name=traefik" --output=name -n kube-system) 9000:9000 -n kube-system
備註:存取原生的 localhost:9000/dashboard/ 即可,dashboard 後邊的 /一定要有,否則會報 404;且只能虛擬機器器內部(k3s節點)檢視,不能使用IP地址存取
sudo crictl images | awk '{print $3}' | xargs crictl rmi #參考命令
sudo crictl images | grep 'eshopdapr' | awk '{print $3}' | xargs sudo crictl rmi # 刪除eshopdapr相關的映象