收藏本站 | RSS订阅纳米科技-纳米资讯-纳米新闻
你现在的位置:首页 » 科技产品 » 正文
09月11日

如何优雅的打造 All

作者 : admin | 分类 : 科技产品 | 超过 10 人围观 | 已有 0 人发表了看法
原标题:如何优雅的打造 All-in One 仓库

做过大型项目的同学一定都搞过自定义 yum 仓库,自定义 yum 在网上也有很多种方案,但今天我们来个不一样的玩法!

在开始之前先来抛出几个问题

  • 如何快速的制作一个仓库?
  • 如何快速的制作一个最精简仓库?
  • 如何快速的制作一个包含 docker、pypi、yum 和 maven 等等的 All-in One 仓库?
  • 如何在一个离线环境中快速的安装我们所需要的软件包?

Nexus 是什么?

简单来说 Nexus 是一个全能的仓储管理工具,它能帮我们解决有关软件包的一系列问题。下面我们来还原几个真实的场景,接下来我们就请上今天的主角, Nexus 闪亮全场!

情景一

公司接了一个超大型项目,需要在用户的离线环境中部署公司数十套产品。那么这个光荣而艰巨的任务就交到运维同学身上吧!

吃饭时间看见运维同学闷闷不乐,于是不解的过去问他,公司有大项目了,为啥还愁眉苦脸的呀?运维同学说,这十几套产品,要安装的软件一大堆,软件包依赖问题一大堆,这可如何是好呀。

我拍了拍运维同学的肩膀对他说,信杰哥,杰哥带你飞!

安装 Nexus 服务

在内网找一台可以访问公网的机器,安装 Nexus 服务

解压软件

服务配置

启动服务

http://10.200.60.21:8081/

默认账号密码: admin/admin123

登录后记得修改 admin 密码

配置 yum proxy

创建 repository

如何优雅的打造 All

展开全文

选择 "yum(proxy)"

如何优雅的打造 All

确定清华 Yum 仓库地址

如何优雅的打造 All

填写 "name" 和 "Remote storage",注意 "Remote storage" 需要以 "/" 结尾

如何优雅的打造 All

Repository 创建完成后

如何优雅的打造 All

确定 Repository 的状态,"Online - Remote Available" 才是正确状态哦

编写客户端 Yum 配置文件,注意 "baseurl" 也需要以 "/" 结尾!

执行安装

安装完成后查看仓储中已经有了已安装过的 rpm 包

如何优雅的打造 All

看到这里,不知道各位小伙伴有没有看明白,以上操作是我们使用 Nexus 仓库中 Yum proxy 的功能,创建了一个代理清华 Yum 源的 Repository,然后在内网的机器上,配置好指向 Nexus 中的 Repository,这时再安装软件,就会通过 Nexus 找到清华 Yum 源中的软件包进行安装。

只要运维同学使用了配置好的 Yum 源,所有安装过的软件都会记录在这里。到时测试完成后,批量把软件包进行下载,再通过 Nexus 创建私有仓储即可完美使用。

软件包有两种情况

  • 如果软件包不存在,则 Nexus 会从 Proxy 端远程下载软件包
  • 如果软件包存在,则直接返回给客户端使用

那可能有同学问了,如果清华 Yum 源的包不够用怎么办?我们还可以再添加 163、 epel 的源呀,所以只要能找到提供 Yum 的地址,都可以尽情的使用 Nexus yum proxy。并且以上配置不区别操作系统版本,如 CentOS 6 也可以使用,不信?我们来瞧瞧~

可以看到,出现了一个 "6" 的目录,分支下也生成了 http 相关的 rpm 包

如何优雅的打造 All

大家想想看,这是为什么呢?

情景二

一个 DB 小 A 跑来找我,说杰哥,我要装个 MySQL 8.0,可是咱们内网 Yum 源里没安装包呀,公司下载又特别慢,你有没有办法呀?

我看了他一眼,告诉他,信杰哥,不翻车。大家说说我们有什么办法来帮助他呢?

找到 MySQL 官方 Yum 源

如何优雅的打造 All

下载下来,定晴一看,怎么是个 rpm 包呀?不慌,rpm 本身就是个压缩包,我们用压缩工具打开看看

如何优雅的打造 All

原来 repo 文件藏在里面呀,这里有两个 repo 文件

  • mysql-community-source.repo
  • mysql-community.repo

让我们来猜猜,带有 source 的,是有关源码的仓库,不带 source 的,是编译好打包的 rpm 包,我们直接打开 mysql-community.repo,赫然看到,原来 MySQL 官方 Yum 源都在这里呢,里面内容相信大家都不陌生吧。

如何优雅的打造 All

如何优雅的打造 All

如何优雅的打造 All

看到这里,是不是大家又明白点什么了!没错,有了官方 Yum 源地址,我们就可以在 Nexus 上创建 Yum proxy

如何优雅的打造 All

如何优雅的打造 All

编写 repo 文件

执行安装

如何优雅的打造 All

同样,此 Yum 源同时支持 CentOS 6 和 CentOS 7,把同样的 repo 文件放到 CentOS 6 机器上,执行安装。

如何优雅的打造 All

情景三

这一天,又一个运维小哥跑来找我,说杰哥杰哥,我们这次有好多需求,要下载好多 docker 镜像,又要下载好多 pypi 镜像,还要安装各个版本的 MySQL,我们搞不定啦,快来支持我们一下啊~~~

我吐……这下杰哥帮不了你了,给你份文档自己看着办吧。哈哈

尾声

结合以上几个情景,相信大家对 Nexus 都有一个大致的了解,Nexus 的权限管理、LDAP,还有 https 都有相应的支持,我们甚至可以把它当做 FTP 服务器来用,我们的 CI/CD 流程也已经集成了 Nexus 。所以 Nexus 还有好多好玩的,等着大家探(入)索(坑)哈!

| 作者简介

刘志杰| 现就职于国双科技,高级数据库工程师 大型项目交付 经验,丰富的数据库管理经验,主要负责 MySQL、PostgresSQL 和 Oracle 相关的数据库运维工作。喜欢学习分享技术,和大家共同提高!

    知数堂精品课程,MySQL、SQL优化、Python、Elastic等

    MySQL课程已全面升级到MySQL 8.0版本,现在上车刚刚好,一起开启MySQL 8.0的修行之旅吧。

    加入知数堂

    挑战50万+年薪!

    知数堂《MySQL实战优化课》已正式上线腾讯课堂,扫码入群了解课程详情吧,撩助教妹子还有优惠哟

知数堂精品课程,MySQL、SQL优化、Python、Elastic等

MySQL课程已全面升级到MySQL 8.0版本,现在上车刚刚好,一起开启MySQL 8.0的修行之旅吧。

加入知数堂

挑战50万+年薪!

知数堂《MySQL实战优化课》已正式上线腾讯课堂,扫码入群了解课程详情吧,撩助教妹子还有优惠哟

上一篇:路由器旁边千万不要放置这两样东西,否则会让网速变成龟速 下一篇:经典再续!moto razr 5G发布,挑战超高端
640*60广告位

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

欢迎访问纳米科技资讯网~
«   2020年9月   »
123456
78910111213
14151617181920
21222324252627
282930
搜索
网站分类
最近发表
标签列表