【发布时间】:2016-10-27 23:16:36
【问题描述】:
部署后需要找到托管Cloud Foundry应用程序的主机[虚拟机]的IP地址。
有没有办法找到IP地址?请告诉我。
需要 IP 地址来调试从 IBM Bluemix 平台上托管的应用程序到 Compose 数据库的数据库连接的连接超时问题。
【问题讨论】:
部署后需要找到托管Cloud Foundry应用程序的主机[虚拟机]的IP地址。
有没有办法找到IP地址?请告诉我。
需要 IP 地址来调试从 IBM Bluemix 平台上托管的应用程序到 Compose 数据库的数据库连接的连接超时问题。
【问题讨论】:
可以使用下面给出的 Cloud Foundry CLI 命令找到 IP 地址。
CF_TRACE=true cf app <APP_NAME>
您获得的应用程序详细信息将包含以下信息:-
{"0":{"state":"RUNNING","stats":{"name":"xxxxxx","uris":["xxxxx.ng.bluemix.net"],"host":"198.23.123.244","port":62461,"xxxxx":484527,"mem_quota":1073741824,"disk_quota":1073741824,"fds_quota":16384,"usage":{"time":"2016-10-27 06:09:24 +0000","cpu":0.34868865754162753,"mem":951832576,"disk":255479808}}}}
“主机”值是托管客户应用程序的 IP。
但请注意,如果您对应用程序重新编排或将应用程序实例移至其他主机,IP 将会更改
例如:
CF_TRACE=true cf app mustanshop
命令结果包含以下文本
{"0":{"state":"RUNNING","stats":{"name":"mustanshop","uris":["mustanshop.mybluemix.net","erterte.testmmmm.com"],"host":"23.246.199.124","port":64220,"uptime":123233,"mem_quota":268435456,"disk_quota":1073741824,"fds_quota":16384,"usage":{"time":"2016-10-27 11:43:41 +0000","cpu":0.002698186246587801,"mem":183988224,"disk":210558976}}}}
应用程序 mustanshop.mybluemix.net 的主机 IP = 23.246.199.124
还请注意,此 IP 是分配给托管应用程序的虚拟机的内部 IP,不能从外部访问。因此,此 IP 不能用于访问应用程序或用于任何类型的应用程序路由配置。
【讨论】:
脚本化方法可以使用 CF API 路由:
/v2/apps?q=name:
/v2/apps/:guid/stats
从第一个路由获取元数据。然后从第二条路由中获取host属性,也就是IP地址。
export APP_NAME=<your-app-name>
export APP_URL=$(cf curl /v2/apps?q=name:$APP_NAME | grep \"url\" | awk '{ print $2 }' | cut -c2-46)
export APP_HOST=$(cf curl $APP_URL/stats | grep host | awk '{ print $2}' | cut -c 2-)
echo ${APP_HOST/%??/}
【讨论】: