Puncte:0

Can't pull images from gcr.io using kubeadm

drapel cn

I cannot pull images from gcr.io using kubeadm. I do not understand the problem, as it seems to have correct internet access to get the latest version info correctly.

This is running on a ubuntu 20.04 machine. Kubernetes has been installed with:

  curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - && \
  echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list && \
  sudo apt-get update -q && \
  sudo apt-get install -qy kubelet=1.19.15-00 kubectl=1.19.15-00 kubeadm=1.19.15-00

  sudo kubeadm init

  kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
  kubectl taint nodes --all node-role.kubernetes.io/master-

But running kubeadm as preflight image pull returns with this error

kubeadm config images pull --v=5
I1021 08:14:07.979301 1611622 initconfiguration.go:104] detected and using CRI socket: /var/run/dockershim.sock
I1021 08:14:07.979712 1611622 interface.go:400] Looking for default routes with IPv4 addresses
I1021 08:14:07.979726 1611622 interface.go:405] Default route transits interface "eth0"
I1021 08:14:07.980302 1611622 interface.go:208] Interface eth0 is up
I1021 08:14:07.980394 1611622 interface.go:256] Interface "eth0" has 3 addresses :[45.142.179.100/22 2a03:4000:4a:e35:4490:e9ff:feca:f24f/64 fe80::4490:e9ff:feca:f24f/64].
I1021 08:14:07.980421 1611622 interface.go:223] Checking addr  45.142.179.100/22.
I1021 08:14:07.980436 1611622 interface.go:230] IP found 45.142.179.100
I1021 08:14:07.980448 1611622 interface.go:262] Found valid IPv4 address 45.142.179.100 for interface "eth0".
I1021 08:14:07.980458 1611622 interface.go:411] Found active IP 45.142.179.100 
I1021 08:14:08.074551 1611622 version.go:185] fetching Kubernetes version from URL: https://dl.k8s.io/release/stable-1.txt
I1021 08:14:13.375386 1611622 version.go:254] remote version is much newer: v1.22.2; falling back to: stable-1.20
I1021 08:14:13.375442 1611622 version.go:185] fetching Kubernetes version from URL: https://dl.k8s.io/release/stable-1.20.txt
exit status 1
output: Error response from daemon: Get "https://k8s.gcr.io/v2/": dial tcp: lookup k8s.gcr.io: Temporary failure in name resolution
, error

Update

I'm just using a blank ubuntu machine, add a new user:

$ sudo adduser <USER>
$ sudo usermod -aG sudo <USER>
$ exit
$ ssh <USER>@<IP>
$ sudo visudo

<USER> ALL=(ALL) NOPASSWD:ALL

$ sudo passwd -l root

and run this routine. That's all I do before installing kubernetes as shown above.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

sudo touch /var/lib/dpkg/lock
sudo DEBIAN_FRONTEND=noninteractive apt-get -y update > /dev/null
sudo DEBIAN_FRONTEND=noninteractive apt-get install -yq \
  apache2-utils \
  apt-transport-https \
  build-essential \
  ca-certificates \
  cifs-utils \
  curl \
  containerd.io \
  docker-ce \
  docker-ce-cli \
  gnupg2 \
  haveged \
  libpam-pwdfile \
  nfs-common \
  nfs-kernel-server \
  python \
  software-properties-common \
  unattended-upgrades \
  vsftpd > /dev/null

cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker.service
swapoff -a
sudo exportfs -a

sudo usermod -aG docker <USER>
sudo hostnamectl set-hostname kubernetes-main
kupson avatar
drapel cn
Ați putea încerca `curl -v https://dl.k8s.io/release/stable-1.20.txt` și să verificați dacă vă oferă răspuns 302?
user3142695 avatar
drapel cn
@kupson Rularea acestui lucru pe server returnează un răspuns 302
drapel in
Pun pariu că utilizați un proxy, iar utilizatorul dvs. (plus poate și root) a configurat setări de proxy care fie (a) kubelet nu folosește (b) că `output:` provine de la un Nod complet separat. Oricum, va trebui să oferiți mai multe detalii pentru ca oricine să vă ajute, deoarece această eroare ar putea fi cauzată de o mulțime de lucruri
user3142695 avatar
drapel cn
@mdaniel Nu folosesc un proxy. Am adăugat rutina mea de instalare la postare. Nu văd problema cu utilizatorul creat...
Andrew Skorkin avatar
drapel tr
Se pare că ați amestecat câteva configurații diferite. Anterior instalați `kubeadm=1.19.15-00`, dar apoi în jurnale: `revenirea la: stable-1.20` Ai folosit vreun manual pentru instalarea kubernetes? Unde ați implementat Ubuntu - server fizic, VM etc.?
user3142695 avatar
drapel cn
@AndrewSkorkin Așa fac upgrade de la 1.19.15 la 1.20 (https://v1-20.docs.kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
Andrew Skorkin avatar
drapel tr
Îmi pare rău @user3142695, dar nu înțeleg. Încercați să instalați sau să actualizați Kubernetes, deoarece „folosesc doar o mașină ubuntu goală”?
Wytrzymały Wiktor avatar
drapel it
Bună ziua @user3142695. Orice actualizari?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.