命令行初始化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