1.4.4.7 常见初始化报错
1.4.4.7.1 无法拉取镜像或镜像地址错误
[root@k8s-master1 ~]# kubeadm init --apiserver-advertise-address=10.0.0.9 --apiserver-bind-port=6443 --control-plane-endpoint=10.0.0.100 --ignore-preflight-errors=swap --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version=v1.21.1 --pod-network-cidr=10.10.0.0/16 --service-cidr=10.20.0.0/16 --service-dns-domain=waluna.local
[init] Using Kubernetes version: v1.21.1
[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/
[WARNING Swap]: running with swap on is not supported. Please disable swap
[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.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:v1.8.0: output: Error response from daemon: pull access denied for registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
, 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
[root@k8s-master1 ~]#
[root@k8s-master1 ~]# kubeadm config images list --kubernetes-version v1.21.1
k8s.gcr.io/kube-apiserver:v1.21.1
k8s.gcr.io/kube-controller-manager:v1.21.1
k8s.gcr.io/kube-scheduler:v1.21.1
k8s.gcr.io/kube-proxy:v1.21.1
k8s.gcr.io/pause:3.4.1
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coredns/coredns:v1.8.0
[root@k8s-master1 ~]#
# 默认去k8s.gcr.io/coredns/coredns:v1.8.0路径找,但是更换为阿里云仓库后,会改为registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.0,中间少了一个/coredns,所以报错,可以加--ignore-preflight-errors=ImagePull参数忽略报错后,手动拉取镜像并打标签解决。
# 解决办法加--ignore-preflight-errors=ImagePull参数可以忽略报错
[root@k8s-master1 ~]# kubeadm init --apiserver-advertise-address=10.0.0.9 --apiserver-bind-port=6443 --control-plane-endpoint=10.0.0.100 --ignore-preflight-errors=swap --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version=v1.21.1 --pod-network-cidr=10.10.0.0/16 --service-cidr=10.20.0.0/16 --service-dns-domain=waluna.local --ignore-preflight-errors=ImagePull
......
[kubelet-check] Initial timeout of 40s passed.
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.
# 再次报错,说kubelet没有启动,看1.4.4.7.2
1.4.4.7.2 没有关闭 swap
不关闭 swap 会导致 kubelet 无法启动,kubelet不正常运行会导致 kubeadm init 初始化失败
# 从日志可以看出启动kubelet需关闭swap
[root@k8s-master1 ~]# tail -f /var/log/syslog -n0
Oct 26 19:38:11 k8s-master1 systemd[1]: kubelet.service: Service hold-off time over, scheduling restart.
Oct 26 19:38:11 k8s-master1 systemd[1]: kubelet.service: Scheduled restart job, restart counter is at 688.
Oct 26 19:38:11 k8s-master1 systemd[1]: Stopped kubelet: The Kubernetes Node Agent.
Oct 26 19:38:11 k8s-master1 systemd[1]: Started kubelet: The Kubernetes Node Agent.
Oct 26 19:38:11 k8s-master1 kubelet[29127]: Flag --network-plugin has been deprecated, will be removed along with dockershim.
Oct 26 19:38:11 k8s-master1 kubelet[29127]: Flag --network-plugin has been deprecated, will be removed along with dockershim.
Oct 26 19:38:11 k8s-master1 systemd[1]: Started Kubernetes systemd probe.
Oct 26 19:38:11 k8s-master1 kubelet[29127]: I1026 19:38:11.840078 29127 server.go:440] "Kubelet version" kubeletVersion="v1.21.1"
Oct 26 19:38:11 k8s-master1 kubelet[29127]: I1026 19:38:11.840609 29127 server.go:851] "Client rotation is on, will bootstrap in background"
Oct 26 19:38:11 k8s-master1 kubelet[29127]: I1026 19:38:11.843550 29127 certificate_store.go:130] Loading cert/key pair from "/var/lib/kubelet/pki/kubelet-client-current.pem".
Oct 26 19:38:11 k8s-master1 kubelet[29127]: I1026 19:38:11.844650 29127 dynamic_cafile_content.go:167] Starting client-ca-bundle::/etc/kubernetes/pki/ca.crt
Oct 26 19:38:11 k8s-master1 kubelet[29127]: I1026 19:38:11.911348 29127 server.go:660] "--cgroups-per-qos enabled, but --cgroup-root was not specified. defaulting to /"
Oct 26 19:38:11 k8s-master1 kubelet[29127]: E1026 19:38:11.911566 29127 server.go:292] "Failed to run kubelet" err="failed to run Kubelet: running with swap on is not supported, please disable swap! or set --fail-swap-on flag to false. /proc/swaps contained: [Filename\t\t\t\tType\t\tSize\tUsed\tPriority /dev/sda5 partition\t1951740\t12\t-2]"
Oct 26 19:38:11 k8s-master1 systemd[1]: kubelet.service: Main process exited, code=exited, status=1/FAILURE
Oct 26 19:38:11 k8s-master1 systemd[1]: kubelet.service: Failed with result 'exit-code'.
# 系统启动了swap
[root@k8s-master1 ~]# free -h
total used free shared buff/cache available
Mem: 1.9G 300M 693M 9.8M 976M 1.5G
Swap: 1.9G 12K 1.9G
[root@k8s-master1 ~]#
# 关闭所有交换分区
[root@k8s-master1 ~]# swapoff -a
[root@k8s-master1 ~]# free -h
total used free shared buff/cache available
Mem: 1.9G 300M 692M 9.8M 977M 1.5G
Swap: 0B 0B 0B
[root@k8s-master1 ~]#
# 再次执行,即可初始化成功
[root@k8s-master1 ~]# kubeadm init --apiserver-advertise-address=10.0.0.9 --apiserver-bind-port=6443 --control-plane-endpoint=10.0.0.100 --ignore-preflight-errors=swap --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version=v1.21.1 --pod-network-cidr=10.10.0.0/16 --service-cidr=10.20.0.0/16 --service-dns-domain=waluna.local --ignore-preflight-errors=ImagePull
......
Your Kubernetes control-plane has initialized successfully!
......
[root@k8s-master1 ~]#







Comments | NOTHING