在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

 

posted @ 2023-06-27 10:50  Zhai_David  阅读(644)  评论(0编辑  收藏  举报