【发布时间】:2022-11-10 12:35:01
【问题描述】:
我在我的 k8s 集群中运行 PowerDNS 递归器。我的 python 脚本在另一个 pod 上,它正在对我的 powerdns rescursor 应用程序执行 rdns。我将我的 hpa Max replica 设置为 8。但是,我不认为负载是这里的问题。我不确定如何解决我遇到的这个超时错误。我可以增加副本来暂时解决问题,然后它会再次发生。
[ipmetadata][MainThread][source.py][144][WARNING]: dns_error code=12, message=Timeout while contacting DNS servers
似乎我的 pod 正在拒绝传入的流量,因此它输出 dns_error code=12。
这是我运行 rdns 的脚本的一部分
return_value = {
'rdns': None
}
try:
async for attempt in AsyncRetrying(stop=stop_after_attempt(3)):
with attempt:
try:
if ip:
result = await self._resolver.query(ip_address(ip).reverse_pointer, 'PTR')
return_value['rdns'] = result.name
return return_value
except DNSError as dns_error:
# 1 = DNS server returned answer with no data
# 4 = Domain name not found
# (seems to just be a failure of rdns lookup no sense in retrying)
# 11 = Could not contact DNS servers
if int(dns_error.args[0]) in [1, 4, 11]:
return return_value
LOG.warning('dns_error code=%d, message=%s, ip=%s', dns_error.args[0], dns_error.args[1], ip)
raise
except RetryError as retry_ex:
inner_exception = retry_ex.last_attempt.exception()
if isinstance(inner_exception, DNSError):
# 12 = Timeout while contacting DNS servers
LOG.error('dns_error code=%d, message=%s, ip=%s', inner_exception.args[0], inner_exception.args[1], ip)
else:
LOG.exception('rnds lookup failed')
return return_value
【问题讨论】:
标签: python amazon-web-services ubuntu kubernetes powerdns