当前位置: 首页 > 工具软件 > Yum Repo Sync > 使用案例 >

制作本地kubernetes镜像仓库(使用reposync、createrepo、httpd)

石正奇
2023-12-01

记录:331

场景:在CentOS 7.9操作系统上,使用reposync从开源镜像站下载kubernetes镜像仓库的rpm包;使用createrepo制作本地kubernetes镜像仓库;使用httpd发布服务。解决内网中使用yum命令安装kubernetes的需求。

版本:

操作系统:CentOS 7.9

名词:

kubernetes:简称k8s。k和s之间有8个字母。

Kubernetes:用于自动部署、扩缩和管理容器化应用程序的开源系统。

Kubernetes:一个开源系统,用于容器化应用的自动部署、扩缩和管理。它将构成应用的容器按逻辑单位进行分组以便于管理和发现。

Kubernetes官网:https://kubernetes.io/

1.基础环境

1.1基础工具准备

(1)安装reposync工具

命令:yum install -y yum-utils

解析:yum-utils包括了很多yum功能,比如reposync下载工具。默认安装在/usr/bin/reposync。

(2)安装createrepo工具

命令:yum install -y createrepo

解析:使用createrepo生成yum源镜像仓库元数据。

(3)安装httpd工具

命令:yum install -y httpd

解析:安装httpd后可以使用httpd发布服务,把yum源镜像仓库提供给内网其它机器使用。

(4)配置httpd服务

安装httpd完成后,会生成httpd发布服务的目录,把需要httpd发布的内容移动此目录,就可以实现http访问。

httpd默认端口:80

httpd默认生成的目录: /var/www/html/

httpd启动命令:systemctl start httpd

httpd开机自启动命令:systemctl enable httpd

查看httpd启动状态命令:systemctl status httpd.service

查看httpd发布端口命令:netstat -atunlp | grep httpd

1.2镜像网站

阿里云开源镜像站:https://mirrors.aliyun.com/kubernetes

1.3机器规划

(1)外网主机hadoop200

主机hadoop200,可连接公网,下载公网rpm包。

(2)内网主机hadoop201

主机hadoop201,内网主机,无法下载公网rpm包。

2.使用reposync下载kubernetes镜像仓库的rpm包

2.1下载地址

地址:https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

2.2配置镜像站yum源文件

在主机hadoop200操作。

编辑文件:vi /etc/yum.repos.d/k8s.repo

编辑内容:

[k8s]
name=k8s
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
gpgcheck=0
enabled=1

解析:在baseurl中配置的路径就是阿里云开源镜像站kubernetes镜像仓库地址。

2.3清空和刷新yum源元数据缓存

命令:yum clean all && yum makecache

解析:yum clean all,清空历史yum源元数据;yum makecache,创建yum源元数据缓存。

2.4使用reposync下载镜像仓库的rpm包

(1)下载

下载k8s的x86_64包命令:reposync -r k8s -p /home/mirror

注释:-r读取,-p指定目录。

(2)下载完成

下载完成后,数据目录。

k8s的x86_64包目录:/home/mirror/k8s

3.使用createrepo制作镜像仓库和httpd发布镜像仓库服务

3.1在httpd默认目录创建目录

在主机hadoop201,在httpd默认目录下创建目录。。

目录:mkdir -p /var/www/html/kubernetes/

3.2已下载包移到httpd发布的目录

(1)已下载包

在主机hadoop200,包对应目录。

k8s的x86_64包目录:/home/mirror/k8s

(2)把rpm包把移到httpd目录

在主机hadoop201,包对应目录。

k8s的rpm包移到目录:/var/www/html/kubernetes/

(3)拷贝指令

如果具备机器之间拷贝可参考如下命令,不具备则使用其它方式拷贝。

拷贝命令:scp -r /home/mirror/k8s/*  root@192.168.19.201:/var/www/html/kubernetes/

3.3使用createrepo生成镜像仓库元数据

在主机hadoop201,生成镜像仓库元数据。

生成kubernetes仓库命令:createrepo -v /var/www/html/kubernetes

解析:createrepo,生成镜像仓库元数据;在目录下会生成repodata目录,镜像仓库元数据在此目录。

3.4使用httpd发布镜像仓库的地址

使用httpd发布镜像仓库目的,就是为了是内网机器或者集群机器都能使用。

地址:http://192.168.19.201/kubernetes/

可以在浏览器查看,验证地址可用。

3.5新增镜像仓库yum源配置文件

编辑文件:vi /etc/yum.repos.d/kubernetes.repo

编辑内容:

[kubernetes-x86_64]
name=kubernetes-x86_64
baseurl=http://192.168.19.201/kubernetes
enabled=1
gpgcheck=0

解析:[kubernetes-x86_64],本地镜像仓库的唯一标识;name,本地镜像仓库名称;baseurl,本地镜像仓库使用httpd发布的地址;enabled=1,启动镜像仓库,为0则不启用;gpgcheck=0,不校验。

3.6清空和刷新yum源元数据缓存

命令:yum clean all && yum makecache

解析:yum clean all,清空历史yum源元数据;yum makecache,创建yum源元数据缓存。

3.7应用本地镜像仓库

(1)查看仓库信息

查看kubernetes仓库:yum repolist kubernetes-x86_64

解析:能看到仓库信息和安装包数量。

(2)搜索仓库中的包

命令:yum search --showduplicates kubelet

(3)安装仓库中的包

命令:yum install -y kubelet kubeadm kubectl

解析:默认安装仓库中最新的包;如需安装特定版本,需在包名后面指定版本号。

3.8其它机器使用本地镜像仓库

部署本地镜像仓库主要目的:内网集群使用本地镜像仓库。

(1)把yum源配置文件拷贝的目标机器

拷贝命令:scp -r /etc/yum.repos.d/kubernetes.repo root@192.168.19.161:/etc/yum.repos.d/

(2)目标机器清空和刷新yum源元数据缓存

命令:yum clean all && yum makecache

解析:yum clean all,清空历史yum源元数据;yum makecache,创建yum源元数据缓存。

(3)目标机器使用yum命令

搜索仓库中的包:yum search --showduplicates kubelet

以上,感谢。

2022年11月24日

 类似资料: