Whilst digging into some Kubernetes testing, validating a fix that I'd made to my cluster, I was deploying both Nginx and Busybox pods.
The Nginx pods were deployed across all my Compute Nodes, to provide a web server tier, and I was using Busybox, again across all the Compute Nodes, to validate that Nginx connectivity was clean and green.
Having obtained the individual IPs of each of the Nginx pods- I'm using Calico Node as my Container Network Interface (CNI) layer - I wanted to hit each Nginx pod from each of the Busybox pods, in turn.
Now, ordinarily, I'd use a command such as: -
curl http://192.168.1.24:80/index.html
to retrieve the sample HTML page that Nginx presents.
However, Busybox is a very cut-down Linux-like environment and, therefore, it doesn't include the curl command.
Thankfully, Busybox does include the wget command, so I was able to use that in a similar manner: -
wget -q --output-document - http://192.168.1.24:80/index.html
which did the trick i.e. dumped the content of nginx.html to the console ( stdout ).
The key parameters are as follows: -
-q == run wget in quiet mode, only returning the required web page, rather than the normal debug
--output-document == tells wget what and where to return the output
- == tells --output-document to write to stdout rather than a specific file/document
Nice !