在pod内,如何通过curl命令来解析一个域名的地址?
最近在测试kubernetes的这个api server的域名解析出来的地址,到底是多少,然后呢,就进入到一个容器里面,发现没有ping、nslookup、host、dig、nc、wget命令
如何知道这个service名字是解析到了什么呢?
因为在pod内,使用coredns解析,就是解析service的名字
后来查了以下,可以通过curl命令来实现,如下:
root@nginx-deployment-6bfdb59f47-4qgr4:/# dig bash: dig: command not found root@nginx-deployment-6bfdb59f47-4qgr4:/# nc bash: nc: command not found root@nginx-deployment-6bfdb59f47-4qgr4:/# wget bash: wget: command not found root@nginx-deployment-6bfdb59f47-4qgr4:/# ping bash: ping: command not found root@nginx-deployment-6bfdb59f47-4qgr4:/# traceroute bash: traceroute: command not found root@nginx-deployment-6bfdb59f47-4qgr4:/# curl --max-time 2 -v kubernetes * Trying 10.96.0.1:80... * Connection timed out after 2001 milliseconds * Closing connection 0 curl: (28) Connection timed out after 2001 milliseconds root@nginx-deployment-6bfdb59f47-4qgr4:/#
这样,就解析出来了kubernetes这个service对应的ip地址是10.96.0.1了。
--max-time 2表示2秒超时时间,如果不返回结果,就报超时了。
-v就是表示详细信息
简单来说,命令是:
curl --max-time 2 -v kubernetes