在Sidecar情境下,一個pod中可能會有多個容器,並且這些容器中啟動並執行應用所使用的程式設計語言可能不同,本文將提供在Sidecar情境下通過ack-onepilot組件接入多語言應用的最佳實務。
前提條件
ack-onepilot版本不低於4.2.0。
操作步驟
參考以下文檔安裝ack-onepilot並為其授予正確的資源存取權限。
為工作負載添加相關標籤。
以上YAML是一個同時使用Java,Golang以及Python三種程式設計語言的複雜應用,應用中有三個不同程式設計語言的容器,容器名分別為test-java、test-go、test-python。
將該應用中的三個容器分別接入到三個不同的ARMS應用中以達到資料隔離,具體操作如下:
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
在無狀態頁面的目標應用右側選擇。
如需建立一個新應用,單擊使用YAML建立資源。
在YAML檔案中將以下
labels添加到spec.template.metadata層級下,然後單擊更新。labels: # 請將${containerName}替換為實際的容器名稱 apsara.apm/container.${containerName}.app-language: java # 替換為該容器實際的程式設計語言 apsara.apm/container.${containerName}.armsPilotAutoEnable: 'on' apsara.apm/container.${containerName}.armsPilotCreateAppName: "<your-deployment-name>" # 請將<your-deployment-name>替換為您的應用程式名稱。
若應用出現在ARMS控制台的頁面中且有資料上報,則說明接入成功。

> YAML 編輯