全部產品
Search
文件中心

Microservices Engine:ACK和ACS微服務應用接入MSE治理中心(Java版)

更新時間:Jan 23, 2025

您可以將部署在Container Service for KubernetesContainer Compute Service中的Spring Cloud和Dubbo等微服務應用接入MSE治理中心,使用MSE提供的一系列服務治理能力,大幅提升線上微服務的穩定性和開發效率,本文介紹如何將ACK和ACS微服務應用接入MSE治理中心。

前提條件

重要
  • 若您的專案中使用了開源的Sentinel組件同時也使用了com.alibaba.cloud.sentinel.feign.SentinelFeignAutoConfiguration,會導致接入MSE治理中心失敗。

  • 掛載MSE Java探針時JVM的堆記憶體配置需要大於 256MB。

接入流程

說明

關於接入方式選擇的建議:

  • 如果您的某個命名空間內的全部應用或者大部分應用需要接入MSE治理中心,建議使用情境一:為ACK和ACS命名空間中的應用開啟MSE微服務治理的方式接入。命名空間內不需要接入的應用需要設定以下標籤:spec.template.labels.msePilotAutoEnable: "off"

  • 如果您的某個命名空間內少部分應用需要接入MSE治理中心,建議使用情境二:為單個應用開啟MSE微服務治理的方式接入。

情境一:為ACK和ACS命名空間中的應用開啟MSE微服務治理

為命名空間下開啟MSE微服務治理後,該命名空間下的Pod都會接入到MSE微服務治理中,您無需再手動逐個接入。

  1. 登入MSE治理中心控制台,並在頂部功能表列選擇地區。

  2. 在左側導覽列,選擇治理中心 > 应用治理

  3. 应用列表頁面,單擊ACK应用接入

  4. ACK应用接入對話方塊中,進行配置,配置完成後,單擊确定

    image

    配置項

    說明

    集群类型

    選擇ACK集群ACK Serverless集群ACS集群

    說明

    如果您尚未授權Container Service調用微服務引擎,則需要單擊請授權進行授權。

    集群名称/ID

    選擇接入MSE微服務治理的集群名称/ID,可通過關鍵詞搜尋。

    ack-onepilot

    顯示ack-onepilot接入狀態。

    • 如果您未安裝ack-onepilot,單擊ack-onepilot右側的点击安装,安裝完成後狀態會顯示為已安裝

    • 如果您使用子帳號接入,提示沒有許可權使用時,您可以登入Container Service管理主控台進入目的地組群,然後單擊營運管理>組件管理,找到ack-onepilot,點擊安裝。

    說明
    • 該步驟接入的組件為ack-onepilot,您可以登入Container Service管理主控台進入目的地組群,然後單擊營運管理>組件管理查看詳情。

    • ack-onepilot安裝後會自動注入探針,可能會導致應用啟動耗時增加(10s內)。

    • 通過命名空間方式接入,如果目的地組群所在的Region不在以下範圍內,請確保叢集能夠訪問公網且能夠連通acm.aliyun.com:8080:青島、杭州、北京、上海、上海-金融雲、深圳、中國香港、新加坡、法蘭克福、雪梨、矽谷、維吉尼亞。

    接入类型

    選擇命名空间接入

    容器集群命名空间

    選擇容器集群命名空间

    治理命名空间

    選擇治理命名空间。在對應命名空間下重新部署現有應用或新建立的應用,均會接入到MSE微服務治理中。

補充說明:

  • 預設接入的應用程式名稱為Deployment名字,如果您需要修改接入MSE的應用程式名稱,可通過編輯應用的YAML檔案進行修改。

    spec:
      template:
        metadata:
          labels:
            mseNamespace: default # 您的應用所在的MSE微服務空間,不填預設為default。
            msePilotCreateAppName: "your-deployment-name" # 替換為您實際使用的應用程式名稱。
  • 如果您想單獨為某個應用關閉微服務治理,可以將參數msePilotAutoEnable設定為off

    spec:
      template:
        metadata:
          labels:
            msePilotAutoEnable: "off" # 這個欄位的"off"必須加上雙引號或者單引號。

情境二:為單個應用開啟MSE微服務治理

如果您的命名空間下只有少量應用需要接入MSE微服務治理,您可以逐個應用接入MSE微服務治理。

  1. 登入MSE治理中心控制台,並在頂部功能表列選擇地區。

  2. 在左側導覽列,選擇治理中心 > 应用治理

  3. 应用列表頁面,單擊ACK应用接入

  4. ACK应用接入對話方塊中,進行配置,配置完成後,單擊确定

    image

    配置項

    說明

    集群类型

    選擇ACK集群ACK Serverless集群ACS集群

    說明

    如果您尚未授權Container Service調用微服務引擎,則需要單擊請授權進行授權。

    集群名称/ID

    選擇接入MSE微服務治理的集群名称/ID,可通過關鍵詞搜尋。

    ack-onepilot

    顯示ack-onepilot接入狀態。

    • 如果您未安裝ack-onepilot,單擊ack-onepilot右側的点击安装,安裝完成後狀態會顯示為已安裝

    • 如果您使用子帳號接入,提示沒有許可權使用時,您可以登入Container Service管理主控台進入目的地組群,然後單擊營運管理>組件管理,找到ack-onepilot,點擊安裝。

    說明
    • 該步驟接入的組件為ack-onepilot,您可以登入Container Service管理主控台進入目的地組群,然後單擊營運管理>組件管理查看詳情。

    • ack-onepilot安裝後會自動注入探針,可能會導致應用啟動耗時增加(10s內)。

    接入类型

    選擇单个应用接入

    接入步骤

    按照接入步驟進行操作。

    Step 1:进入集群工作负载-无状态应用页面,切换到应用的命名空间下

    Step 2:找到所接入的应用,点击「查看Yaml」

    Step 3:按以下格式编辑Labels,完成后点击「更新」

    spec:
      template:
        metadata:
          labels:
            # 填寫“on”表示開啟接入,需加上雙引號
            msePilotAutoEnable: "on"
            # 填寫接入到的治理命名空間,值不存在可自動建立
            mseNamespace: 202401
            # 填寫接入MSE的實際應用程式名稱,需加上雙引號
            msePilotCreateAppName: "your-deployment-name"

結果驗證

完成上述步驟並重啟應用後,部署在Container Service for KubernetesContainer Compute Service中的應用就成功開啟了MSE微服務治理。

  1. 登入MSE治理中心控制台,並在頂部功能表列選擇地區。

  2. 在左側導覽列,選擇治理中心 > 应用治理

  3. 選擇對應的微服務命名空間,即可看到已經成功接入的應用。