You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取MuleSoft RTF上已部署API的版本信息?

获取MuleSoft RTF EKS上已部署API版本的可行方案

针对你在AWS EKS上运行MuleSoft RTF、需要获取各环境应用版本的需求,以下是几个实用方案:

  • 直接查询Kubernetes Pod元数据
    RTF部署的Mule应用Pod通常会携带版本相关的元数据,你可以通过kubectl命令直接提取:

    • 查看Pod的annotations(部分RTF部署会将应用版本注入到annotations中):
      kubectl get pods -n <你的RTF命名空间> -o jsonpath='{range .items[*]}{.metadata.name}: {.metadata.annotations.mulesoft\.com/app-version}{"\n"}'
    • 查看应用镜像的版本标签(如果你的镜像构建时包含版本号):
      kubectl get pods -n <你的RTF命名空间> -o jsonpath='{range .items[*]}{.metadata.name}: {.spec.containers[0].image}{"\n"}'
      输出结果中通常包含类似my-mule-app:1.2.3的镜像名,冒号后的部分就是版本号。
  • 在Mule应用中内置版本端点
    在每个Mule应用中添加一个轻量的状态端点,主动暴露应用版本信息,之后通过批量脚本收集:

    1. 在Mule项目的src/main/resources/application.properties中定义版本:
      application.version=1.0.0
    2. 添加一个HTTP监听流返回版本数据:
      <http:listener-config name="Version_Endpoint_Config" doc:name="HTTP Listener Config">
          <http:listener-connection host="0.0.0.0" port="8081" />
      </http:listener-config>
      <flow name="get-app-version-flow">
          <http:listener path="/app-version" method="GET" doc:name="Listener" config-ref="Version_Endpoint_Config"/>
          <set-payload value='{"appName": "${application.name}", "version": "${application.version}"}' doc:name="Set Version Payload" mimeType="application/json"/>
      </flow>
      
    3. 编写Shell或Python脚本,遍历所有应用的服务地址,调用/app-version端点并汇总结果。
  • 查询RTF关联的Kubernetes配置资源
    RTF会将应用部署的元数据存储在Kubernetes的ConfigMap或Secret中,你可以查询相关资源获取版本:
    kubectl get configmaps -n <你的RTF命名空间> -o yaml | grep -A 5 -B 5 "appVersion"
    部分RTF的ConfigMap会包含应用版本的字段,直接提取即可。

内容的提问来源于stack exchange,提问作者Learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 03:06:29