Welcome to the Linux Foundation Forum!

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
student@lfs458-node-1a0a:~$ kubectl exec -it thirdpage-5cf8d67664-zcmfh -- /bin/bash
root@thirdpage-5cf8d67664-zcmfh:/# 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

Answers

  • serewicz
    serewicz Posts: 1,000

    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

    hi@lfs258-node-1a0a:~$ kubectl exec -it thirdpage-7c9b56bfdd-4pmhr -- /bin/bash

    root@thirdpage-7c9b56bfdd-4pmhr:/# ping
    bash: ping: command not found

  • cat command works and gets:

    root@thirdpage-7c9b56bfdd-4pmhr:/# cat /etc/resolv.conf
    nameserver 10.96.0.10
    search default.svc.cluster.local svc.cluster.local cluster.local
    options ndots:5

  • kakhavk
    kakhavk Posts: 5
    edited November 2018

    Oh yes I fixed it
    Thanks for helping, I added with command "echo nameserver 8.8.8.8 > /etc/resolv.conf"

  • serewicz
    serewicz Posts: 1,000

    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?

  • root@master:~# kubectl exec nginx -it -- /bin/bash
    root@nginx:/# cat /etc/resolv.conf
    search default.svc.cluster.local svc.cluster.local cluster.local
    nameserver 10.96.0.10
    options ndots:5
    root@nginx:/# ping 4.2.2.2
    bash: ping: command not found
    root@nginx:/# "echo nameserver 8.8.8.8 > /etc/resolv.conf"
    bash: echo nameserver 8.8.8.8 > /etc/resolv.conf: No such file or directory
    root@nginx:/# echo nameserver 8.8.8.8 > /etc/resolv.conf
    root@nginx:/# apt update -y
    Err:1 http://deb.debian.org/debian bullseye InRelease
    Temporary failure resolving 'deb.debian.org'
    0% [Connecting to deb.debian.org]

  • root@master:~# kubectl get pod -o wide
    NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
    nginx 1/1 Running 1 (87m ago) 96m 10.44.0.1 worker
    root@master:~# kubectl get node -o wide
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
    master Ready control-plane 26h v1.26.1 192.168.122.31 Ubuntu 20.04.5 LTS 5.15.0-58-generic containerd://1.6.15
    worker Ready 25h v1.26.1 192.168.122.226 Ubuntu 20.04.5 LTS 5.15.0-58-generic containerd://1.6.15
    root@master:~#

    root@master:~# kubectl exec nginx -it -- /bin/bash
    root@nginx:/# cat /etc/resolv.conf
    search default.svc.cluster.local svc.cluster.local cluster.local
    nameserver 10.96.0.10
    options ndots:5
    root@nginx:/# ping 4.2.2.2
    bash: ping: command not found
    root@nginx:/# "echo nameserver 8.8.8.8 > /etc/resolv.conf"
    bash: echo nameserver 8.8.8.8 > /etc/resolv.conf: No such file or directory
    root@nginx:/# echo nameserver 8.8.8.8 > /etc/resolv.conf
    root@nginx:/# apt update -y
    Err:1 http://deb.debian.org/debian bullseye InRelease
    Temporary failure resolving 'deb.debian.org'
    Err:2 http://deb.debian.org/debian-security bullseye-security InRelease
    Temporary failure resolving 'deb.debian.org'
    Err:3 http://deb.debian.org/debian bullseye-updates InRelease
    Temporary failure resolving 'deb.debian.org'
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    All packages are up to date.
    W: Failed to fetch http://deb.debian.org/debian/dists/bullseye/InRelease Temporary failure resolving 'deb.debian.org'
    W: Failed to fetch http://deb.debian.org/debian-security/dists/bullseye-security/InRelease Temporary failure resolving 'deb.debian.org'
    W: Failed to fetch http://deb.debian.org/debian/dists/bullseye-updates/InRelease Temporary failure resolving 'deb.debian.org'
    W: Some index files failed to download. They have been ignored, or old ones used instead.
    root@nginx:/#

  • If you have VPN running, stop it and try again. It worked for me ...

Categories

Upcoming Training