Bluemix 容器状态读取 'Networking'
Bluemix Container status reads 'Networking'
我正在尝试在 Bluemix 上设置一个容器,它接受 UDP 流量并使用 TCP 连接将其转发到 Logentries。 运行本地容器时,我用NetCat模拟UDP流量,看到成功显示在TCP连接的目的地。
但是,当我尝试使用 Bluemix 容器服务启动基于同一图像的容器时,该容器仍然停留在 'Networking' 状态,并且没有数据 t运行 发送到目的地.日志仅打印有关 syslog-ng.conf 文件中列出的版本的警告(本地 运行 时的警告相同),并通过命令 cf ic inspect <container-id>
returns 检查容器以下关于 Networking
状态的部分:
"Path": "date",
"ResolvConfPath": "/etc/resolv.conf",
"State": {
"ExitCode": 0,
"FinishedAt": "0001-01-01T00:00:00Z",
"Ghost": "",
"Pid": 1,
"Running": true,
"StartedAt": "2015-10-14T19:45:43.000000000Z",
"Status": "Networking"
},
需要注意的一件事是,由于以下错误,我不得不将名称服务器更改为 8.8.8.8
(Google 的 DNS)以进行必要的域名解析:
Error resolving hostname; host='data.logentries.com'
Error initializing message pipeline;
Error resolving hostname; host='data.logentries.com'
Error initializing message pipeline;
你可以在https://github.com/oinopion/syslog-ng-logentries
找到我最初采用的Docker图像的源代码。
所以我的问题是:
- Bluemix 容器的 'Networking' 状态是什么意思?
- 为什么我的容器可以在本地运行,但不能在 Bluemix 上运行?
- 容器是否能够从端点获得响应?
您只需将 UDP 流量转发到 Logentries,无需切换到 TCP。
'Networking' 状态意味着正在为您的容器创建网络,以便可以访问容器的 public 和私有 IP 并将其路由到您的实例。当容器卡在网络上时,这通常是基础设施的问题,而不是您所做的任何事情。
请尝试删除您的容器并重新创建它,看看是否可以解决问题。如果不是,那么您将需要向 Bluemix 提交支持票证(通过 Bluemix UI 上的支持 link 'Get Help')让 IBM Containers 团队调查您的 Container 出现问题的原因。
也许可以将 syslog-ng 配置为直接连接到与摄取节点关联的 IP 之一。
任何一击都应该有效。
data.logentries.com. 105 IN A 54.217.225.23
data.logentries.com. 105 IN A 54.217.226.18
data.logentries.com. 105 IN A 54.246.89.117
data.logentries.com. 105 IN A 54.217.226.8
data.logentries.com. 105 IN A 79.125.113.75
data.logentries.com。 105 在 A 54.228.220.150
Docker Bluemix 上的容器尚不支持传入的 UDP 流量路由。据我所知,此功能已计划用于未来的更新。
这就是您的容器在本地运行良好,但远程收不到流量的原因。
我正在尝试在 Bluemix 上设置一个容器,它接受 UDP 流量并使用 TCP 连接将其转发到 Logentries。 运行本地容器时,我用NetCat模拟UDP流量,看到成功显示在TCP连接的目的地。
但是,当我尝试使用 Bluemix 容器服务启动基于同一图像的容器时,该容器仍然停留在 'Networking' 状态,并且没有数据 t运行 发送到目的地.日志仅打印有关 syslog-ng.conf 文件中列出的版本的警告(本地 运行 时的警告相同),并通过命令 cf ic inspect <container-id>
returns 检查容器以下关于 Networking
状态的部分:
"Path": "date",
"ResolvConfPath": "/etc/resolv.conf",
"State": {
"ExitCode": 0,
"FinishedAt": "0001-01-01T00:00:00Z",
"Ghost": "",
"Pid": 1,
"Running": true,
"StartedAt": "2015-10-14T19:45:43.000000000Z",
"Status": "Networking"
},
需要注意的一件事是,由于以下错误,我不得不将名称服务器更改为 8.8.8.8
(Google 的 DNS)以进行必要的域名解析:
Error resolving hostname; host='data.logentries.com'
Error initializing message pipeline;
Error resolving hostname; host='data.logentries.com'
Error initializing message pipeline;
你可以在https://github.com/oinopion/syslog-ng-logentries
找到我最初采用的Docker图像的源代码。
所以我的问题是:
- Bluemix 容器的 'Networking' 状态是什么意思?
- 为什么我的容器可以在本地运行,但不能在 Bluemix 上运行?
- 容器是否能够从端点获得响应?
您只需将 UDP 流量转发到 Logentries,无需切换到 TCP。
'Networking' 状态意味着正在为您的容器创建网络,以便可以访问容器的 public 和私有 IP 并将其路由到您的实例。当容器卡在网络上时,这通常是基础设施的问题,而不是您所做的任何事情。
请尝试删除您的容器并重新创建它,看看是否可以解决问题。如果不是,那么您将需要向 Bluemix 提交支持票证(通过 Bluemix UI 上的支持 link 'Get Help')让 IBM Containers 团队调查您的 Container 出现问题的原因。
也许可以将 syslog-ng 配置为直接连接到与摄取节点关联的 IP 之一。
任何一击都应该有效。
data.logentries.com. 105 IN A 54.217.225.23
data.logentries.com. 105 IN A 54.217.226.18
data.logentries.com. 105 IN A 54.246.89.117
data.logentries.com. 105 IN A 54.217.226.8
data.logentries.com. 105 IN A 79.125.113.75
data.logentries.com。 105 在 A 54.228.220.150
Docker Bluemix 上的容器尚不支持传入的 UDP 流量路由。据我所知,此功能已计划用于未来的更新。 这就是您的容器在本地运行良好,但远程收不到流量的原因。