Kubernetes初始化问题解决:PullImage from image service failed
  aOYB9Qh7rxCg 2023年11月02日 101 0

命令行初始化Kubenetes,等待很久,报错:

[root@k8s-master opt]# kubeadm init --kubernetes-version=v1.28.2-0 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --apiserver-advertise-address=xxx.xxx.xxx.xxx
[init] Using Kubernetes version: v1.28.2-0
[preflight] Running pre-flight checks
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
W0922 09:27:12.343893    2395 checks.go:835] detected that the sandbox image "registry.k8s.io/pause:3.6" of the container runtime is inconsistent with that used by kubeadm. It is recommended that using "registry.k8s.io/pause:3.9" as the CRI sandbox image.
error execution phase preflight: [preflight] Some fatal errors occurred:
	[ERROR ImagePull]: failed to pull image registry.k8s.io/kube-apiserver:v1.28.2-0: output: E0922 09:19:33.603276    2459 remote_image.go:171] "PullImage from image service failed" err="rpc error: code = DeadlineExceeded desc = failed to pull and unpack image \"registry.k8s.io/kube-apiserver:v1.28.2-0\": failed to resolve reference \"registry.k8s.io/kube-apiserver:v1.28.2-0\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/kube-apiserver/manifests/v1.28.2-0\": dial tcp 173.194.174.82:443: i/o timeout" image="registry.k8s.io/kube-apiserver:v1.28.2-0"
time="2023-09-22T09:19:33+08:00" level=fatal msg="pulling image: rpc error: code = DeadlineExceeded desc = failed to pull and unpack image \"registry.k8s.io/kube-apiserver:v1.28.2-0\": failed to resolve reference \"registry.k8s.io/kube-apiserver:v1.28.2-0\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/kube-apiserver/manifests/v1.28.2-0\": dial tcp 173.194.174.82:443: i/o timeout"
, error: exit status 1
	[ERROR ImagePull]: failed to pull image registry.k8s.io/kube-controller-manager:v1.28.2-0: output: E0922 09:22:06.420410    2496 remote_image.go:171] "PullImage from image service failed" err="rpc error: code = Unknown desc = failed to pull and unpack image \"registry.k8s.io/kube-controller-manager:v1.28.2-0\": failed to resolve reference \"registry.k8s.io/kube-controller-manager:v1.28.2-0\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/kube-controller-manager/manifests/v1.28.2-0\": dial tcp 64.233.188.82:443: i/o timeout" image="registry.k8s.io/kube-controller-manager:v1.28.2-0"
time="2023-09-22T09:22:06+08:00" level=fatal msg="pulling image: rpc error: code = Unknown desc = failed to pull and unpack image \"registry.k8s.io/kube-controller-manager:v1.28.2-0\": failed to resolve reference \"registry.k8s.io/kube-controller-manager:v1.28.2-0\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/kube-controller-manager/manifests/v1.28.2-0\": dial tcp 64.233.188.82:443: i/o timeout"
, error: exit status 1
	[ERROR ImagePull]: failed to pull image registry.k8s.io/kube-scheduler:v1.28.2-0: output: E0922 09:24:39.501665    2531 remote_image.go:171] "PullImage from image service failed" err="rpc error: code = DeadlineExceeded desc = failed to pull and unpack image \"registry.k8s.io/kube-scheduler:v1.28.2-0\": failed to resolve reference \"registry.k8s.io/kube-scheduler:v1.28.2-0\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/kube-scheduler/manifests/v1.28.2-0\": dial tcp 173.194.174.82:443: i/o timeout" image="registry.k8s.io/kube-scheduler:v1.28.2-0"
time="2023-09-22T09:24:39+08:00" level=fatal msg="pulling image: rpc error: code = DeadlineExceeded desc = failed to pull and unpack image \"registry.k8s.io/kube-scheduler:v1.28.2-0\": failed to resolve reference \"registry.k8s.io/kube-scheduler:v1.28.2-0\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/kube-scheduler/manifests/v1.28.2-0\": dial tcp 173.194.174.82:443: i/o timeout"
, error: exit status 1
	[ERROR ImagePull]: failed to pull image registry.k8s.io/kube-proxy:v1.28.2-0: output: E0922 09:27:12.323152    2606 remote_image.go:171] "PullImage from image service failed" err="rpc error: code = DeadlineExceeded desc = failed to pull and unpack image \"registry.k8s.io/kube-proxy:v1.28.2-0\": failed to resolve reference \"registry.k8s.io/kube-proxy:v1.28.2-0\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/kube-proxy/manifests/v1.28.2-0\": dial tcp 64.233.188.82:443: i/o timeout" image="registry.k8s.io/kube-proxy:v1.28.2-0"
time="2023-09-22T09:27:12+08:00" level=fatal msg="pulling image: rpc error: code = DeadlineExceeded desc = failed to pull and unpack image \"registry.k8s.io/kube-proxy:v1.28.2-0\": failed to resolve reference \"registry.k8s.io/kube-proxy:v1.28.2-0\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/kube-proxy/manifests/v1.28.2-0\": dial tcp 64.233.188.82:443: i/o timeout"
, error: exit status 1
	[ERROR ImagePull]: failed to pull image registry.k8s.io/pause:3.9: output: E0922 09:29:45.029730    2671 remote_image.go:171] "PullImage from image service failed" err="rpc error: code = Unknown desc = failed to pull and unpack image \"registry.k8s.io/pause:3.9\": failed to resolve reference \"registry.k8s.io/pause:3.9\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/pause/manifests/3.9\": dial tcp 142.251.170.82:443: i/o timeout" image="registry.k8s.io/pause:3.9"
time="2023-09-22T09:29:45+08:00" level=fatal msg="pulling image: rpc error: code = Unknown desc = failed to pull and unpack image \"registry.k8s.io/pause:3.9\": failed to resolve reference \"registry.k8s.io/pause:3.9\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/pause/manifests/3.9\": dial tcp 142.251.170.82:443: i/o timeout"
, error: exit status 1
	[ERROR ImagePull]: failed to pull image registry.k8s.io/etcd:3.5.9-0: output: E0922 09:32:17.809600    2709 remote_image.go:171] "PullImage from image service failed" err="rpc error: code = DeadlineExceeded desc = failed to pull and unpack image \"registry.k8s.io/etcd:3.5.9-0\": failed to resolve reference \"registry.k8s.io/etcd:3.5.9-0\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/etcd/manifests/3.5.9-0\": dial tcp 142.251.170.82:443: i/o timeout" image="registry.k8s.io/etcd:3.5.9-0"
time="2023-09-22T09:32:17+08:00" level=fatal msg="pulling image: rpc error: code = DeadlineExceeded desc = failed to pull and unpack image \"registry.k8s.io/etcd:3.5.9-0\": failed to resolve reference \"registry.k8s.io/etcd:3.5.9-0\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/etcd/manifests/3.5.9-0\": dial tcp 142.251.170.82:443: i/o timeout"
, error: exit status 1
	[ERROR ImagePull]: failed to pull image registry.k8s.io/coredns/coredns:v1.10.1: output: E0922 09:34:50.538061    2753 remote_image.go:171] "PullImage from image service failed" err="rpc error: code = Unknown desc = failed to pull and unpack image \"registry.k8s.io/coredns/coredns:v1.10.1\": failed to resolve reference \"registry.k8s.io/coredns/coredns:v1.10.1\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/coredns/coredns/manifests/v1.10.1\": dial tcp 64.233.189.82:443: i/o timeout" image="registry.k8s.io/coredns/coredns:v1.10.1"
time="2023-09-22T09:34:50+08:00" level=fatal msg="pulling image: rpc error: code = Unknown desc = failed to pull and unpack image \"registry.k8s.io/coredns/coredns:v1.10.1\": failed to resolve reference \"registry.k8s.io/coredns/coredns:v1.10.1\": failed to do request: Head \"https://us-west2-docker.pkg.dev/v2/k8s-artifacts-prod/images/coredns/coredns/manifests/v1.10.1\": dial tcp 64.233.189.82:443: i/o timeout"
, error: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher

本地images是有镜像的:

root@k8s-master containerd]# docker images
REPOSITORY                                TAG       IMAGE ID       CREATED         SIZE
registry.k8s.io/kube-apiserver            v1.28.2   cdcab12b2dd1   8 days ago      126MB
registry.k8s.io/kube-controller-manager   v1.28.2   55f13c92defb   8 days ago      122MB
registry.k8s.io/kube-scheduler            v1.28.2   7a5d9d67a13f   8 days ago      60.1MB
registry.k8s.io/kube-proxy                v1.28.2   c120fed2beb8   8 days ago      73.1MB
registry.k8s.io/etcd                      3.5.9-0   73deb9a3f702   4 months ago    294MB
registry.k8s.io/coredns                   v1.10.1   ead0a4a53df8   7 months ago    53.6MB
registry.k8s.io/pause                     3.9       e6f181688397   11 months ago   744kB

这个错误其实就是国内无法连接到registry.k8s.io,此时只需修改registry.k8s.io为registry.aliyuncs.com/google_containers即可。这是国内的k8s镜像,可能会比外面迟1-2天。

kubeadm init --kubernetes-version=v1.28.2 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --apiserver-advertise-address=10.10.10.185 --image-repository regi
[init] Using Kubernetes version: v1.28.2
[preflight] Running pre-flight checks
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
W0922 09:44:24.585116    3209 checks.go:835] detected that the sandbox image "registry.k8s.io/pause:3.6" of the container runtime is inconsistent with that used by kubeale_containers/pause:3.9" as the CRI sandbox image.
[certs] Using certificateDir folder "/etc/kubernetes/pki"
[certs] Generating "ca" certificate and key
[certs] Generating "apiserver" certificate and key
[certs] apiserver serving cert is signed for DNS names [k8s-master kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10
[certs] Generating "apiserver-kubelet-client" certificate and key
[certs] Generating "front-proxy-ca" certificate and key
[certs] Generating "front-proxy-client" certificate and key
[certs] Generating "etcd/ca" certificate and key
[certs] Generating "etcd/server" certificate and key
[certs] etcd/server serving cert is signed for DNS names [k8s-master localhost] and IPs [10.10.10.185 127.0.0.1 ::1]
[certs] Generating "etcd/peer" certificate and key
[certs] etcd/peer serving cert is signed for DNS names [k8s-master localhost] and IPs [10.10.10.185 127.0.0.1 ::1]
[certs] Generating "etcd/healthcheck-client" certificate and key
[certs] Generating "apiserver-etcd-client" certificate and key
[certs] Generating "sa" key and public key
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Writing "admin.conf" kubeconfig file
[kubeconfig] Writing "kubelet.conf" kubeconfig file
[kubeconfig] Writing "controller-manager.conf" kubeconfig file
[kubeconfig] Writing "scheduler.conf" kubeconfig file
[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[control-plane] Using manifest folder "/etc/kubernetes/manifests"
[control-plane] Creating static Pod manifest for "kube-apiserver"
[control-plane] Creating static Pod manifest for "kube-controller-manager"
[control-plane] Creating static Pod manifest for "kube-scheduler"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Starting the kubelet
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  xqA0sOKuvLcb   2023年11月22日   38   0   0 redisDockerredisdocker
  bifOjSxj34Bv   2023年12月07日   38   0   0 nginxDockerdockernginx
  IEgV2R47Wr6T   2023年11月12日   70   0   0 数据mysqldocker
  Fo7woytj0C0D   2023年12月23日   31   0   0 pythonsedidepythonidesed
aOYB9Qh7rxCg