一、前言

1.1.docker与kubernetes优势

现在互联网公司部署应用基本上都是基于docker甚至kubernetes来部署,以前直接使用yum、源码或者二进制包来安装应用的手段已经越来越为很多公司抛弃,主要是现在的业务复杂,应用繁杂,部署的环境多种多样,为了解决其因环境改变而需要修改各种参数配置的情况,如果通过一个个docker容器来部署应用就会减少很多工作量,而docker是跨平台的一种虚拟化手段,我们只需要关注docker与系统的兼容性即可,再也不用关注每一个应用于系统以及应用与应用之间的兼容关系,同时如果结合kubernetes集群来编排每一个docker容器,这可以使得更容易的去维护管理容器之中的应用。

1.2.面临的问题

docker与kubernetes都是国外的软件,在获取它们的时候因为GFW的问题往往获取比较困难,虽说国内有类似阿里云的一些镜像仓库,但并不能完全解决问题,同时在部署的时候会面临不能上网,需要去局域网内部署集群的时候会涉及到很多软件安装,这就需要在平时做足准备工作,我的思路如下
如果面临的环境是可以上网
直接换国内软件源即可
如果面临的环境无法上网
我的做法是:
1、在阿里云上一台机器上部署yum私有仓库以及docker私有仓库
2、yum仓库中包含常用工具、docker-18.03、kubeadm-1.14.1-0 kubectl-1.14.1-0 kubelet-1.14.1-0
3、docker私有仓库中包含kubernetes-v1.14.1相关组件镜像
4、记住这只是在阿里云上部署了私有仓库,但如果我们要在无法联网的环境中来部署docker与kubernetes,那么需要把yum私有仓库相关的软件可以迁移到局域网中无差别建立局域网中的私有仓库,docker镜像仓库也是类似
5、如果要进行版本升级,那么就需要在有望的环境中测试,通过yumdownload工具来下载相关软件所有依赖包(后面会有详细解释)

1.3.要达到的目的

可以在无法联网的环境中任意部署应用

二、建立yum私有仓库

服务器为一台阿里云ECS 配置为1cpu2g内存
47.101.164.64 Centos7.5
因为以前见过yum私有仓库,相关的包已经传到github上了,现在克隆下来重新部署一次
git clone git@github.com:linuxwt/LAN_YUM_REPO.git