在Sidecar场景下,一个pod中可能会有多个容器,并且这些容器中运行的应用所使用的编程语言可能不同,本文将提供在Sidecar场景下通过ack-onepilot组件接入多语言应用的最佳实践。
前提条件
ack-onepilot版本不低于4.2.0。
操作步骤
- 参考以下文档安装ack-onepilot并为其授予正确的资源访问权限。 
- 为工作负载添加相关标签。 - 以上YAML是一个同时使用Java,Golang以及Python三种编程语言的复杂应用,应用中有三个不同编程语言的容器,容器名分别为test-java、test-go、test-python。 - 将该应用中的三个容器分别接入到三个不同的ARMS应用中以达到数据隔离,具体操作如下: - 登录容器服务管理控制台,在左侧导航栏选择集群列表。 
- 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。 
- 在无状态页面的目标应用右侧选择。 - 如需创建一个新应用,单击使用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 编辑
 > YAML 编辑