0

I am running a kind cluster and deployed a ubuntu pod

kubectl run ubunt-test --rm -i --tty --image ubuntu -- bash

Then I tried to run apt-get update on the shell. The output is


Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease                                       
Get:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Err:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
Err:2 http://archive.ubuntu.com/ubuntu jammy InRelease
  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
Err:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
Err:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
Reading package lists... Done
N: See apt-secure(8) manpage for repository creation and user configuration details.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
E: The repository 'http://security.ubuntu.com/ubuntu jammy-security InRelease' is not signed.
E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
N: See apt-secure(8) manpage for repository creation and user configuration details.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
E: The repository 'http://archive.ubuntu.com/ubuntu jammy InRelease' is not signed.
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
E: The repository 'http://archive.ubuntu.com/ubuntu jammy-updates InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease  Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?)
E: The repository 'http://archive.ubuntu.com/ubuntu jammy-backports InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Now, the same update command works when I run ubuntu container using docker.

docker run -it ubuntu bash

Then I run apt-get update command and it is successful. The output is :

Get:1 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]                                        
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]                              
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:4 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [767 kB]
Get:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]                         
Get:8 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [616 kB]                    
Get:9 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [4642 B]              
Get:10 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [522 kB]             
Get:11 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]                            
Get:12 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]                       
Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [955 kB]                 
Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [573 kB]               
Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [8056 B]               
Get:16 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [918 kB]                     
Get:17 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [7275 B]               
Get:18 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [3175 B]                   
Fetched 24.7 MB in 33s (753 kB/s)                                                                      
Reading package lists... Done

apt-get update command is working fine on both host machine and docker container. I don't know what is wrong with kind cluster pod. Any guess ?

Shaad7
  • 51
  • 3
  • Questions on the `apt-get` tool might be better asked on another site like [ubuntu.se]; this doesn't really seem like a programming-related question. The flow you're describing of trying to take updates in a running pod is pretty unusual, since this will only affect one replica of your Deployment and will be lost as soon as the pod is deleted (possibly outside your control, if a node fails or becomes overcommitted). – David Maze Nov 21 '22 at 16:21
  • This is not the exact problem I am facing. My kubernetes operator can not pull docker image. It shows an error `"https://index.docker.io/v2/": x509: certificate is not valid for any names, but wanted to match index.docker.io`. I started debuging and came down to this. Ubuntu pod can not download update. – Shaad7 Nov 21 '22 at 16:28

1 Answers1

1

Replaces the nameserver (DNS) used on the machine by the Google Public DNS service.

sudo rm -f /etc/resolv.conf
sudo su
echo "nameserver 8.8.8.8" > /etc/resolv.conf

Update default docker DNS by running sudo vim /etc/default/docker and uncomment the following line

DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"

Then restart docker with sudo service docker restart

Shaad7
  • 51
  • 3