一、制作背景

使用kubespray工具kubernetes高可用集群,由于当前环境是属于专网环境,无法上外网,即无法通过外网来获取docker官方yum源或阿里云yum源来安装docker服务,这里需要将docker服务进行本地yum源构建,让其它主机可以通过内部docker服务的yum源地址来安装docker服务。


二、制作步骤

2.1、局域网主机安装Nginx

说明:这里使用Nginx来提供yum源仓库下文件载服务的,默认根目录为/usr/share/nginx/html。Nginx服务ip和端口为:192.168.1.23:80,在根目录下创建localyum/packages来存放docekr离线安装包。在当前环境中,Nginx已经安装好了,这里就不介绍了。

[root@k8s-sdjw-download-23 ~]# mkdir -pv /usr/share/nginx/html/localyum/packages

2.2、docker离线安装包下载

说明:找一台能够访问外网的主机下载docker安装包,通过命令行,将安装包到/home/localyum/dockerrpm目录下。

1、配置docker官方yum源

#方法一:
[root@k8s-sdjw-outside-24 ~]# yum -y install yum-utils
[root@k8s-sdjw-outside-24 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#方法二:
[root@k8s-sdjw-outside-24 ~]# yum -y install yum-utils
[root@k8s-sdjw-outside-24 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2、查看当前yum源支持的docker版本
说明:当前k8s-v1.22.8默认安装的docker版本为20.10.11。

[root@k8s-sdjw-outside-24 ~]# yum list docker-ce --showduplicates | sort -r
[root@k8s-sdjw-outside-24 ~]# yum install --downloadonly --downloaddir=/home/localyum/dockerrpm docker-ce-20.10.11 docker-ce-cli-20.10.11

2.3、createrepo离线安装包下载

说明:找一台能够访问外网的主机下载createrepo安装包,通过命令行,将安装包到/home/localyum/createrepo目录下。
1、下载createrepo安装包

[root@k8s-sdjw-outside-24 ~]# yum install --downloadonly --downloaddir=/home/localyum/createrepo createrepo

2、将createrepo离线rpm安装包拷贝到局域网主机,即当前环境中的k8s-sdjw-download-23主机上的/usr/share/nginx/html/localyum/packages目录下。如下图所示:
在这里插入图片描述


2.4、局域网主机安装createrepo

说明:将k8s-sdjw-outside-24主机上的createrepo离线rpm安装包拷贝到k8s-sdjw-download-23主机上的/home/localyum/createrepo,没有该目录,可创建。通过如下方式安装。也可以通过rpm -ivh进行安装,但是一定要按照依赖关系进行安装。

[root@k8s-sdjw-download-23 ~]# cd /home/localyum/createrepo
[root@k8s-sdjw-download-23 createrepo]#	yum install * -y

2.5、创建docker.repo并进行配置

删除/etc/yum.repos.d/目录下面的文件,创建docker.repo并进行配置,这里为了避免误删,将yum.repos.d目录进行备份。/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7这个地址要根服务器保持一致。

[root@k8s-sdjw-download-23 ~]# cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
[root@k8s-sdjw-download-23 ~]# rm -f /etc/yum.repos.d/*
[root@k8s-sdjw-download-23 ~]# vim /etc/yum.repos.d/docker-ce.repo 
[docker-ce-20.10.11]
name=docker-ce-20.10.11
baseurl=http://192.168.1.23/localyum
enabled=1
gpgcheck=0

2.6、设置本地源

说明:设置本地源,输入yum repolist看是否可以看到自己构建的本地源

[root@k8s-sdjw-download-23 ~]# createrepo -d /usr/share/nginx/html/localyum
[root@k8s-sdjw-download-23 ~]# yum repolist
[root@k8s-sdjw-download-23 ~]# yum clean all
[root@k8s-sdjw-download-23 ~]# yum makecache

2.7、安装docker测试

说明:如下图所示,则表明docker离线安装以及本地yum源构建成功。
在这里插入图片描述


总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:企业级K8s集群运维实战

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐