kubeadm init时需要的镜像的默认的镜像仓库地址在国内是无法访问的,且文档中给的阿里云的加速服务goole_container好像也无法使用了,那我们可以自己制作一个加速服务。
    可以使用kubeadm config images list查看初始化时所需的镜像列表

    1. > kubeadm config images list
    2. k8s.gcr.io/kube-apiserver:v1.21.0
    3. k8s.gcr.io/kube-controller-manager:v1.21.0
    4. k8s.gcr.io/kube-scheduler:v1.21.0
    5. k8s.gcr.io/kube-proxy:v1.21.0
    6. k8s.gcr.io/pause:3.4.1
    7. k8s.gcr.io/etcd:3.4.13-0
    8. k8s.gcr.io/coredns/coredns:v1.8.0

    制作过程:

    1. 在阿里云的容器镜像服务中创建一个存放k8s需要加速的镜像的命名空间: kube-images

    k8s容器加速服务制作 - 图1
    然后在命名空间下创建需要加速的镜像,如k8s.gcr.io/kube-apiserver:v1.21.0

    1. 准备kube-apiserver的同步文件Dcokerfile.

    在github上准备一个专门存放镜像同步文件的仓库:kube-images
    在仓库中创建kube-apiserver的同步文件/kube-apiserver/Dockerfile

    1. FROM k8s.gcr.io/kube-apiserver:v1.21.0
    1. 在kube-images下创建kube-apiserver镜像仓库, 并将同步文件Dockerfile所在仓库绑定到此仓库,并勾选海外机器构建

    k8s容器加速服务制作 - 图2

    1. 创建成功后,进入仓库,添加构建规则,然后点击构建

    k8s容器加速服务制作 - 图3

    如何在kubeadm初始化时指定?
    可以直接使用参数—image-repository=registry.cn-hongkong.aliyuncs.com/kube-images(刚才创建的namespace的地址)指定
    如果使用config初始化,可以将修改文件中的imageRepository

    apiVersion: kubeadm.k8s.io/v1beta2
    bootstrapTokens:
    - groups:
      - system:bootstrappers:kubeadm:default-node-token
      token: abcdef.0123456789abcdef
      ttl: 24h0m0s
      usages:
      - signing
      - authentication
    kind: InitConfiguration
    localAPIEndpoint:
      advertiseAddress: host-ip
      bindPort: 6443
    nodeRegistration:
      criSocket: /var/run/dockershim.sock
      name: node
      taints: null
    ---
    apiServer:
      timeoutForControlPlane: 4m0s
    apiVersion: kubeadm.k8s.io/v1beta2
    certificatesDir: /etc/kubernetes/pki
    clusterName: kubernetes
    controllerManager: {}
    dns:
      type: CoreDNS
    etcd:
      local:
        dataDir: /var/lib/etcd
    imageRepository: registry.cn-hongkong.aliyuncs.com/kube-images
    kind: ClusterConfiguration
    kubernetesVersion: 1.21.0
    networking:
      dnsDomain: cluster.local
      serviceSubnet: 10.96.0.0/12
      podSubnet: 10.244.0.0/16
    scheduler: {}