记录: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日