初始化 k8s 报错 failed to pull image coredns:v1.8.0
[init] Using Kubernetes version: v1.21.4
[preflight] Running pre-flight checks
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
[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'
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR ImagePull]: failed to pull image registry.aliyuncs.com/google_containers/coredns:v1.8.0: output: Error response from daemon: manifest for registry.aliyuncs.com/google_containers/coredns:v1.8.0 not found: manifest unknown: manifest unknown
, 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
failed to pull image registry.aliyuncs.com/google_containers/coredns:v1.8.0
这个报错是因为 Kubernetes version: v1.21.4 依赖 coredns:v1.8.0 镜像,而 阿里云的镜像仓库没有 coredns:v1.8.0。
解决方案:
手动拉取 coredns:v1.8.0 镜像
docker pull coredns/coredns:1.8.0
docker tag coredns/coredns:1.8.0 registry.aliyuncs.com/google_containers/coredns:v1.8.0
docker rmi -f coredns/coredns:1.8.0
docker ps