Dapr學習(2)之Rancher2.63(k8s&k3s)環境安裝Dapr

xjk27400861發表於2022-05-15

前言:前面寫過一篇關於dapr入門安裝的文章,self-host模式,使用docker安裝的本地除錯環境,並進行了測試;本篇介紹k8s方式安裝dapr,此文主要基於的環境是k3s,通過rancher2.6.3版管理工具進行快捷安裝,並進行相關demo測試

1.k8s安裝dapr介紹

參考官網:https://docs.dapr.io/zh-hans/operations/hosting/kubernetes/kubernetes-deploy/

官網推薦使用helm方式安裝&高可用安裝;這裡不在贅述

image

2.Rancher2.6.3安裝Dapr

  • Rancher 新增商店helm源:新增 Dapr 源;https://dapr.github.io/helm-charts/ 最新的安裝源,新增到商店

    image

  • 進入應用商店,搜尋dapr

    image

  • 安裝最新版本,1.7.2版

    image

  • 由於我們安裝了1.6.1版本,我們選擇升級版本

    image

  • 安裝成功後,我們可以在Rancher管理介面看到幾個dapr元件

    image

3.配置 狀態儲存 和 釋出/訂閱 訊息代理,檢視官網:https://docs.dapr.io/zh-hans/reference/components-reference/supported-state-stores/ 可以看到狀態儲存等支援的資料庫型別;

  • 我們這裡使用官網推薦的redis作為狀態儲存

    image

  • 使用Rancher建立一個單例項的redis容器;Dapr使用redis儲存,要求redis版本>5;映象:index.docker.io/library/redis:6.2.6

    image

    image
    設定密碼命令:redis-server --requirepass 123456
    環境變數也可以設定成空密碼訪問:ALLOW_EMPTY_PASSWORD=yes

4.Dapr快速入門demo之hello-kubernetes

  • 去github官網下載demo-1.7版本程式碼:https://github.com/dapr/quickstarts/tree/release-1.7/tutorials/hello-kubernetes

    image
  • 建立一個daprdemo的名稱空間,部署nodejs服務
      命令:sudo kubectl apply -f node.yaml -n daprdemo
      檢視部署狀態:sudo kubectl rollout status deploy/nodeapp -n daprdemo
    
    image
  • 修改node.yaml檔案,因為80埠已被佔用,會導致部署問題,把80埠改為3000埠,與nodeapp釋放埠一致

    image
  • nodeapp服務部署完畢後,可以通過rancher檢視或者編輯對外訪問埠,然後可通過k8s任一節點ip+埠訪問nodeapp服務

    image
  • 我們也可以通過命令指定對外訪問的埠,這樣我就可以通過30018埠訪問nodeapp:

      kubectl port-forward service/nodeapp 30018:3000
    
  • 我們通過瀏覽器,可以訪問nodeapp服務,返回dapr的埠資訊

    image
  • 我們在daprdemo的名稱空間下,建立一個state元件,供nodeapp服務使用;要保證state元件與nodeapp服務同屬於同一名稱空間下,否則nodeapp服務是無法訪問到state元件的

    image
  • 輸入命令,構建state元件

      sudo kubectl apply -f redis-state.yaml -n daprdemo
    
    image
  • 使用apifox工具,請求nodeapp服務,新建一個訂單

    image
  • 獲取訂單

    image

5.Rancher2.6.3 Dapr dashboard訪問

  • 找到Dapr dashbord服務資訊

    image

  • 點選進入dashbord介面

    image

6.部署python服務app

  • 輸入命令部署app,並檢視部署狀態

      kubectl apply -f python.yaml -n daprdemo
      kubectl rollout status deploy/pythonapp -n daprdemo
    

    image

  • 檢視nodeapp的日誌

      kubectl logs --selector=app=node -c node --tail=-1 -n daprdemo
    

    image

  • 獲取訂單號

    image

7.清理所有應用(進入到yaml檔案所在目錄)

kubectl delete -f . -n daprdemo

8.Rancher檢視Dapr元件資訊

  • 在Rancher管理介面的“更多資源”節點下,dapr.io節點下檢視

    image

9.元件的作用域參考官網:https://www.bookstack.cn/read/dapr-1.6.0-zh/38630b93719234c7.md

相關文章