network does not works on a bash shell inside the new pod

Hello
I am learning kubernetes on LFS258 course and there is example when need to run apt-get update from shell inside te new pod
[email protected]:~$ kubectl exec -it thirdpage-5cf8d67664-zcmfh -- /bin/bash
[email protected]:/# apt-get update
but when runnig command apt-get update it cannot conect to server
Err:1 http://security.debian.org/debian-security stretch/updates InRelease
Temporary failure resolving 'security.debian.org'
Err:2 http://deb.debian.org/debian stretch InRelease
Temporary failure resolving 'deb.debian.org'
Err:3 http://deb.debian.org/debian stretch-updates InRelease
Temporary failure resolving 'deb.debian.org'
Reading package lists... Done
Best Answers
-
serewicz Posts: 456
Ah, I had hoped the ping command was also in the container. You could deploy a different container using a full OS like Ubuntu to further troubleshoot, but that will take a lot of resources. What does the containers /etc/resolv.conf file show as a nameserver? (cat /etc/resolv.conf)
5 -
serewicz Posts: 456
Great! Glad to hear that worked. DNS is an area of much change and growth with Kubernetes and there are several settings which change the name resolution order.
Cheers,
5
Answers
Hello,
This looks to be a DNS issue. Each of the attempts to update APT show "failure resolving" as the issue. From the same container can you ping an exterior IP address or name? Please try to ping 4.2.2.2 and some site like linux.com. If these also fail it indicates that the issue is with DNS instead of the container.
To troubleshoot the DNS issue, are you using an online provider or using VirtualBox? From where you are running kubectl, do you find any issues with access to the outside world? Do you have any firewalls in place which could prevent access from the container to the outside world?
Regards,
Thank for answer!
Yes I have nstalled ubuntu 16 on virtualbox
firewall is disabled
network is in bridge mode so ip addres is in same type as physicalcomputer
when I am runnig ping it seems that there is not ping installed in pod's environment
[email protected]:~$ kubectl exec -it thirdpage-7c9b56bfdd-4pmhr -- /bin/bash
[email protected]:/# ping
bash: ping: command not found
cat command works and gets:
[email protected]:/# cat /etc/resolv.conf
nameserver 10.96.0.10
search default.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
Oh yes I fixed it
Thanks for helping, I added with command "echo nameserver 8.8.8.8 > /etc/resolv.conf"
On your system which node has 10.96.0.10 as an IP? If it is one of your instances, what does that instance show for /etc/resolv.conf?