ACP雲原生容器工程師 - ASM服務網格使用

ASM入門指引

  • 部署ASM的基礎環境

    • 阿里雲ECS彈性計算雲服務器

    • 阿里雲Kubernetes集羣(ACK/ASK)

  • 部署ASM的主要步驟

    • 創建一個服務網格ASM實例

    • 添加一個Kubernetes集羣到服務網格ASM實例中

    • 爲服務網格ASM實例中的集羣部署入口網關

    • 將應用部署到上述服務網格ASM實例的ACK Kubernetes集羣中

    • 爲服務網格ASM實例定義虛擬服務和istio網關

部署過程

創建ASM實例

  • 前提條件

    • 已開通以下服務,服務網格ASM、容器服務、彈性伸縮服務、訪問控制服務、鏈路追蹤服務

    • 已獲得以下角色授權:AliyunServiceMeshDefaultRole、AliyunCSClusterRole、AliyunCSMagedKubernetesRole

  • 背景信息

    • 創建ASM可能會進行如下操作:

      • 創建安全組

      • 創建VPC路由規則

      • 創建彈性公網IP

      • 創建專有網的負載均衡

      • 暴露6443端口

      • 暴露15011端口

      • 收集被託管管控組件的日誌信息

  • 基本步驟

    1. 登錄ASM控制檯

    2. 在左側導航欄,選擇服務網格 - 網格管理

    3. 在網格管理頁面單擊創建新網格

    4. 在創建新網格頁面,完成網格配置

    • 設置網格基礎選項

    • 設置網格高級選項

    1. 瞭解和接受服務協議

    2. 單擊確定,開始創建

  • 執行結果

    • 網格實例頁面顯示實例列表

    • 查看已創建的實例摘要信息

    • 查看實例相關的日誌細節

    • 查看實例相關的管理細節

      • 基本信息

      • 連接配置

      • 數據平面集羣信息

      • 虛擬服務

      • 目標規則

      • istio資源定義

添加集羣

  • 前提條件

    • 已創建至少一個ASM實例

    • 已創建至少一個集羣

      • Kubernetes專有版集羣

      • Kubernetes託管版集羣

      • ECS虛擬機

    • 待添加的集羣與ASM實例位於同一VPC

  • 操作步驟

    • 在網格管理頁面單擊目標ASM實例名稱

      • 或目標ASM實例右側操作列下的管理
    • 在數據平面區域,單擊集羣頁籤

    • 在集羣頁籤,單擊添加

    • 在彈出頁選中需要添加的集羣,並確定

    • 在重要提示對話框中單擊確定

  • 執行結果

    • 添加集羣之後,ASM實例的狀態變爲更新中

      • 黃:更新中

      • 青:運行中

    • 數秒之後,刷新信息,網格狀態會變爲運行中

      • 等待時長與添加的集羣數量有關
    • 在數據平面區域,可以查看已添加集羣的信息

添加入口網關

  • 前提條件

    • 已創建至少一個ASM實例

    • 已添加至少一個集羣到該實例中

  • 背景信息

    • 七層網關功能

    • 對外提供一個統一的七層服務入歐

    • HTTP請求分發/負載均衡

  • 操作步驟

部署應用

  • 前提條件

    • 已創建至少一個ASM實例

    • 已添加至少一個集羣到該實例中

    • 通過kubectl連接到ASM實例中新添加的集羣

    • 已添加入口網管到該集羣

  • 背景信息案例:Bookinfo書評應用

    • 4個微服務構成

    • 不同的技術棧

    • Reviews微服務有3個版本

  • 操作步驟

定義資源

  • 前提條件

    • 已創建至少一個ASM實例

    • 已添加至少一個集羣到該集羣中

    • 已添加入口網管到該集羣

    • 已部署應用到該集羣

  • 背景信息

    • 定義istio資源的目的

      • 策略路由

      • 流量治理

      • 鑑權

      • 安全保護

  • 定義istio資源類型

    • 服務網關Gateway

      • 暴露服務

      • 綁定端口、協議、域名

    • 虛擬服務VirtualService

      • URL匹配

      • 服務版本

      • 流量權重

    • 目標規則DestinationRule

      • 負載均衡策略

      • 流控規則

    • 服務入口ServiceEntry

      • 外部服務發現

      • 流量攔截

  • 部署步驟

    • 定義Gateway資源

    • 定義虛擬服務

    • 訪問入口網管

    • 定義目標規則

      • 負載均衡策略:輪詢、最小連接數、隨機
    • 增加新的虛擬服務

    • 執行結果

流程總結

  • 服務網格ASM的部署流程

    • 創建一個服務網格ASM實例

    • 添加一個集羣到服務網格ASM實例中

    • 爲服務網格ASM實例中的集羣部署入口網關

    • 將應用部署到上述服務網格ASM實例中的集羣中

    • 爲服務網格ASM實例定義虛擬服務和istio服務網關

  • 服務網格ASM的移除流程

    • 在ASM實例管理頁面移除所有關聯的集羣

    • 集羣中部署的入口網關服務將被自動卸載

    • 在列表頁面刪除ASM實例

ASM使用問題

  • 不能再ASM實例中部署應用

    • 控制檯提供的配置用於連接ASM實例

    • istio資源在控制平面操作,無法在控制平面部署應用

  • 不能再ASM管理的集羣中部署istio的虛擬服務等CRD資源

    • istio資源在控制平面操作,連接的kubeconfig同樣是控制平面提供的配置
  • 不直接使用集羣的連接配置操作istio資源

    • istio CRD對應的資源保存在控制平面,控制平面完成規則轉換並應用
  • 服務網格控制平臺的命名空間yu數據平面集羣的命名空間的區別

    • 通過控制檯或Kubeconfig定義的命名空間隸屬於ASM實例

    • 與該ASM實例管理的數據平面集羣相互獨立

    • 在實例和數據平面集羣中的管理與維護操作互不影響

小結

  • ASM入門指引

  • 部署過程

    • 創建ASM實例

    • 添加集羣

    • 添加入口網關

    • 部署應用

    • 定義資源

  • 流程總結

  • ASM使用問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章