创建本地kubernetes yum源

参考:https://pad.yohdah.com/525/kubernetes-yum-repo-mirror-for-china

安装Nginx createrepo

# needed if you have a stale base image.
yum update

# install packages needed to run a yum mirror.
yum install -y epel-release
yum install -y nginx createrepo yum-utils wget

设置同步源,以阿里云的kubernetes源为例

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
       http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
reposync -p /usr/share/nginx/html/repo -r kubernetes -l
cd /usr/share/nginx/html/repo/kubernetes
createrepo -v /usr/share/nginx/html/repo/kubernetes

# download and host public GPG keys.
wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg -o /usr/share/nginx/html/repo/doc/yum-key.gpg
wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg -o /usr/share/nginx/html/repo/doc/rpm-package-key.gpg

# autoindex on;
vi /etc/nginx/nginx.conf
rm /usr/share/nginx/html/index.html
sudo service nginx start

创建内部源

# create the repo file for kubernetes.
vi /etc/yum.repos.d/kubernetes.repo

# vi /etc/yum.repos.d/kubernetes.repo 
[kubernetes]
name=Kubernetes
baseurl=http://172.25.11.197/repo/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://172.25.11.197/repo/doc/yum-key.gpg
       http://172.25.11.197/repo/doc/rpm-package-key.gpg

检查源

yum list --showduplicates | grep 'kubeadm\|kubectl\|kubelet'

导出rpm包

只下载rpm包,不进行安装 
yum -y install --downloadonly --downloaddir=./ xxx
 yum -y install --downloadonly --downloaddir=./ kubeadm-1.16.14 kubectl-1.16.14 kubelet-1.16.14 kubernetes-cni-0.8.6  cri-tools-1.13.0

查看需要的镜像

kubeadm config images list
#输出如下结果
k8s.gcr.io/kube-apiserver:v1.16.14
k8s.gcr.io/kube-controller-manager:v1.16.14
k8s.gcr.io/kube-scheduler:v1.16.14
k8s.gcr.io/kube-proxy:v1.16.14
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.3.15-0
k8s.gcr.io/coredns:1.6.2