10

I am suffering below problem.

I use ubuntu 16.04. I am following guide document, but it does not works for me.

# cat /etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main

# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
OK

# apt-get update
Hit:1 http://kr.archive.ubuntu.com/ubuntu xenial InRelease
Hit:2 http://kr.archive.ubuntu.com/ubuntu xenial-updates InRelease                            
Hit:3 http://kr.archive.ubuntu.com/ubuntu xenial-backports InRelease                                  
Hit:4 http://security.ubuntu.com/ubuntu xenial-security InRelease       
Get:5 https://packages.cloud.google.com/apt kubernetes-xenial InRelease 
[8993 B]
Ign:5 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
Fetched 8993 B in 1s (5258 B/s)
Reading package lists... Done
W: GPG error: https://packages.cloud.google.com/apt kubernetes-xenial 
InRelease: The following signatures couldn't be verified because the public 
key is not available: NO_PUBKEY 6A030B21BA07F4FB
W: The repository 'http://apt.kubernetes.io kubernetes-xenial InRelease' is 
not signed.
N: Data from such a repository can't be authenticated and is therefore 
potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration 
details.

I want to upgrade kubeadm version. How to fix this?

hokwang
  • 659
  • 2
  • 9
  • 22

3 Answers3

23

You should try to update PGP keys from the keyserver provided by Canonical:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 6A030B21BA07F4FB
Executing: /tmp/apt-key-gpghome.F7OvCVWiqu/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 6A030B21BA07F4FB
gpg: key 6A030B21BA07F4FB: public key "Google Cloud Packages Automatic Signing Key <gc-team@google.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

next:

sudo apt update && sudo apt upgrade 

will do the rest of the job.

If problem still exists, binaries also can be downloaded directly:

wget https://storage.googleapis.com/kubernetes-release/release/v1.10.1/bin/linux/amd64/kubeadm    
wget https://storage.googleapis.com/kubernetes-release/release/v1.10.1/bin/linux/amd64/kubectl    
wget https://storage.googleapis.com/kubernetes-release/release/v1.10.1/bin/linux/amd64/kubelet
d0bry
  • 2,232
  • 9
  • 16
3

this steps resolve my issue:

1- sudo apt-get install -y ca-certificates curl

2- sudo apt-get install -y apt-transport-https

3- sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg

4- echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

5- sudo apt-get update

6- sudo apt-get install -y kubectl

tgogos
  • 23,218
  • 20
  • 96
  • 128
0

This worked for me:

  1. Download the Google Cloud public signing key:

    sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg

  2. Add the Kubernetes apt repository:

    echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

  3. Update apt package index, install kubelet, kubeadm and kubectl, and pin their version:

    sudo apt-get update

Source: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl