文章目录
一、制作背景
使用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集群运维实战