我一直按照在 CentOS 7 VM 上安装 stackdriver 代理的说明进行操作。
该虚拟机可以访问互联网:我可以毫无问题地运行指向 www.google.com 或其他公共服务的跟踪路由。
[root@dbrocket sysconfig]# ping www.google.com
PING www.google.com (74.125.141.99) 56(84) bytes of data.
64 bytes from vl-in-f99.1e100.net (74.125.141.99): icmp_seq=1 ttl=49 time=74.0 ms
64 bytes from vl-in-f99.1e100.net (74.125.141.99): icmp_seq=2 ttl=49 time=73.0 ms
当我尝试启动 stackdriver 代理时,它失败,如下所示:
Apr 03 02:42:55 dbrocket stackdriver-agent[25065]: Starting stackdriver-collectd: Unable to determine collectd endpoint!
Apr 03 02:42:55 dbrocket systemd[1]: stackdriver-agent.service: control process exited, code=exited status=1
Apr 03 02:42:55 dbrocket systemd[1]: Failed to start LSB: start and stop Stackdriver Agent.
查看源代码,它似乎无法连接到 stackdriver 网关服务,并且确实无法访问它:
[root@dbrocket sysconfig]# traceroute -n collectd-gateway.google.stackdriver.com
traceroute to collectd-gateway.google.stackdriver.com (173.255.114.144), 30 hops max, 60 byte packets
1 10.80.0.2 36.808 ms 36.733 ms 36.764 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
这些是该虚拟机拥有的 API 权限:
[root@dbrocket sysconfig]# curl --silent -f -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/scopes
https://www.googleapis.com/auth/cloud.useraccounts.readonly
https://www.googleapis.com/auth/devstorage.read_only
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring
我将构建另一个具有附加google-cloud-plaform
API 授权范围的虚拟机,但这个路由问题仍然看起来很奇怪。我已尝试从具有适当互联网访问权限的各种虚拟机进行操作,它们都显示相同的行为。
我究竟做错了什么?
答案1
这个问题已通过修复主网络配置中的防火墙规则得到解决