前期准备

为了开发这套课程,我专门购买了一台二手戴尔服务器 Dell R720,同时把废弃多年的笔记本电脑也利用了起来。当然如果自己没有多余的电脑,也可以在自己电脑上安装 Vmware Workstation,然后再安装虚拟的方式来实现有几台虚拟服务器。如果自己有多余的旧电脑,并且是2个核心8G以上内存,可以尝试安装 VMware vSphere Hypervisor (ESXi) 的方式来管理虚拟机。

Vmware Workstation 或者 VMware vSphere Hypervisor (ESXi) 软件的下载参考如下连接,需要注意的是目前在 Vmware 站点下载软件需要注册一个账号。注册账号后在产品下载里面可以找到所有产品的下载,也就是这个连接 https://my.vmware.com/cn/group/vmware/downloads/#all_products ,自行选择下载 Vmware Workstation 或者 VMware vSphere Hypervisor (ESXi) 。



另外像戴尔或者联想服务器会针对 VMware vSphere Hypervisor (ESXi)  做一些定制化,可以从戴尔或者联想官网下载 VMware vSphere Hypervisor (ESXi) ,例如这里是戴尔的定制 VMware vSphere Hypervisor (ESXi)  下载页面 https://www.dell.com/support/home/zh-cn/product-support/product/poweredge-r720/drivers ,操作系统选择 VMware ESXi 6.5,格式选择 CD-ROM的ISO映像。

安装 Vmware ESXi

如果自己有多余的旧电脑,并且是2个核心8G以上内存,可以尝试安装 Vmware ESXi 的方式来管理虚拟机。接下来我这里将演示如何安装部署 Vmware ESXi,以及如何通过 Vmware ESXi 创建虚拟机。

首先需要制作一个U盘启动器,需要一个4G及以上的U盘,还需要 UltraISO 软碟通以及前面下载的 Vmware ESXi 软件。将U盘插到电脑上,确保自己U盘上的东西有备份,因为制作启动器会格式化U盘。然后打开 UltraISO 软碟通。

点击左上角【文件】选项里面的【打开】,打开我们下载的 VMware-VMvisor-Installer-7.0U1-16850804.x86_64.iso,打开后如下图所示:



然后再点击【启动】选项里的【写入硬盘映像…】



在新的弹窗里面一定要注意【硬盘驱动器】要选择自己的U盘,其他设置默认即可。然后点击【写入】,等待进度条完成即可,一个U盘启动器就制作好了。

接下来就开始安装 Vmware ESXi,和U盘启动器安装操作系统的方式一样,我这里为了方便演示和截图就通过虚拟机的方式来演示 Vmware ESXi 的安装。

将U盘启动器插在要安装 Vmware ESXi 的电脑上,然后开机进入 BIOS 系统设置第一启动项,不同电脑略有差异,请自行度娘解决。需要注意的是安装 Vmware ESXi,就相当于安装了新的系统,自己电脑上重要的东西记得备份。我这里演示安装 Vmware ESXi 用的是 6.5.0 版本,与 Vmware ESXi 7.0 的使用没什么差异。

启动电脑后是在加载我们U盘启动器的内容:



开始安装 Vmware ESXi,敲【Enter】键继续:



同意用户许可协议,【F11】接受并继续:



选择将 Vmware ESXi 安装在哪个磁盘,如果有多块磁盘,按上下键选择磁盘,我这里就只有一块磁盘,敲【Enter】键继续:



设置键盘布局,选择默认的【US Default】即可,敲【Enter】键继续:



设置超级管理员 root 账号的密码,确保两次输入的密码一致,敲【Enter】键继续:



因为我是在虚拟机里面安装的,这里提示硬件虚拟化没有启用,需要在 BIOS 里面启用硬件虚拟化特性,这里只是出于演示目的,先不用管它,敲【Enter】键继续:



警告提醒磁盘将被重新分区,敲【F11】开始真正的安装进程:



接下来就是安装的进度条,等待进度达到100%,Vmware ESXi 安装就完成了:



安装完成,重启电脑,拔出U盘启动器。



提示服务器将会重启:



重启完成后就是如下界面,这台服务器的 IP 就是 192.168.21.227。需要特别提醒的是 Vmware ESXi 不是像操作系统那样的桌面管理界面,它的管理界面是 Web 平台的,需要在浏览器里面访问。



好了,现在我们在其他桌面环境的电脑端,打开浏览器,输入Vmware ESXi 服务器的 IP 地址进行访问。初次访问浏览器会警告这个站点的SSL证书是不可信的,不用管它,继续访问即可,在登录界面输入 root 账号和密码。



首次进入管理界面,提示加入 Vmware 客户体验改进计划,【确定】即可。初次安装官方版的 Vmware ESXi 会有60天的试用期,如果有正版的激活序列号,在【管理】菜单里面的【许可】中输入密钥激活即可。



界面大概就是这样,有进行实操的同学可以熟悉下 Vmware ESXi 的其他功能选项。

安装 Vmware Workstation

相关资源下载:

  1. Vmware 相关软件:https://my.vmware.com/cn/group/vmware/downloads/#all_products

服务器规划

准备4个虚拟机服务器

名称 IP 用途 账号
centos7-200 192.168.31.200 安装部署Jenkins服务 root、jenkins、maintainer
centos7-110 192.168.31.110 1、作为jenkins的节点;2、部署开发环境服务 root、jenkins、maintainer
centos7-111 192.168.31.111 1、作为jenkins的节点;2、部署测试环境服务 root、jenkins、maintainer
centos7-112 192.168.31.112 1、作为jenkins的节点;2、部署正式环境服务 root、jenkins、maintainer

服务器安装

接下来还是分别演示采用 Vmware ESXi 和 Vmware Workstation 安装虚拟机。

Vmware ESXi 安装虚拟机

进入 Vmware ESXi 的 Web 关键界面,开始创建我们的 CentOS7 虚拟机:



创建类型选择【创建新虚拟机】:



在该界面设置虚拟机名称、兼容性、操作系统类型和操作系统的版本,这里需要注意一点,因为我安装的 Vmware ESXi 是新版的 7.0 版本,以防万一新版的 Vmware ESXi 在使用过程中有什么问题,所以在兼容性这里我们可以做个调整,你可以选择其他版本的 Vmware ESXi,也可以选择 Vmware Workstation 兼容的类型,这样以便我们创建的虚拟机可以在其他版本的 Vmware ESXi 或者在 Vmware Workstation 中注册运行。



这里的【选择存储】是设置我们虚拟机的存储位置,因为我这里只有一个 datastore1 存储空间,所有默认就行,如果你自己挂载了多个存储空间,选择自己想要存储的位置即可。

这个界面是设置虚拟机的 CPU、内存、硬盘、网络适配器、驱动器等,CPU、内存、硬盘大小可以根据自己需要做适当调整,但是不能超过物理机的最大值。这里需要注意的有两个地方,一是【网络适配器】,因为目前大多数服务器是多网口的,我的 Dell R720 后面就有4个网口,如果这些网口都利用起来可以有效地避免网络不可用的问题,例如我一个网口用电信的网络,一个网口用移动的网络,当我移动网络不可用时可以继续使用电信网络。我这里只用了一个网口,采用默认设置就行了,如果你的多个网口都利用起来了的话,可以也给这个虚拟机设置多个网络。另一个注意点就是【CD/DVD驱动器】,一定要选择【数据存储 ISO 文件】来挂载我们的系统镜像文件,同时记得把【连接】勾选上。



这里是选择我们的系统镜像文件,你想安装什么系统并且你也有对应的系统镜像文件的话,都可以尝试下,体验下不同的操作系统。Vmware ESXi 具体支持虚拟化哪些系统,可以到 Vmware 官网看看,这里有个 Vmware ESXi 的兼容系统矩阵可以参考下 https://www.vmware.com/resources/compatibility/search.php?deviceCategory=software&testConfig=16



这个界面是虚拟机配置的一个概览,需要调整就进入【上一页】重新设置,不需要调整直接【完成】。



然后就可以点击我们刚才创建好的虚拟机,【打开电源】启动虚拟机了,虚拟机启动后初次进入就是进行操作系统的安装。



后面就是在小窗口进行操作系统安装阶段的系统设置,演示过一遍。

设置系统语言:



这个界面有以下几个地方需要设置:【软件选择】、【安装位置】、【网络和主机名】



我们这里是作为服务器使用,选择【最小安装】即可,如果是当作桌面系统使用需要选择【GNOME 桌面】。



系统安装位置,可以自己分区,也可以自动配置,如果不知道怎样分区好就默认自动分区就行了。



网络和主机名设置,填好主机名后要点击下【应用】才会生效,然后还要开启以太网,开启后路由器会自动分配 IP 地址,如果需要设置特定 IP 地址,可以在【配置】中进行设置,设置的时候需要填写网关 IP、和子网掩码之类东西,为了一切简单,不做特殊设置,只是开启以太网就行了。





后面就开始真正的安装过程了,安装过程中还需要进行用户设置,必须要做的是要为 root 账号设置密码,也可以创建一个新用户。





等待安装完成后需要重启虚拟机,等待虚拟机启动好后既可以登录了。





Vmware Workstation 安装虚拟机

在 Vmware Workstation 中创建虚拟机就笔记简单些,对大家来讲也应该比较熟悉,也还是简单过一下。另外 Vmware Workstation 还可以连接远程服务器,例如可以连接我的 Dell R720 服务器,然后管理服务器上的现有虚拟机或者在服务器上创建新的虚拟机。





关于 Vmware Workstation 管理 Vmware ESXi 服务器,有条件的同学可以自行下去试试各个功能按钮。我这里演示的是利用 Vmware Workstation 在自己电脑上创建虚拟机,不是在远程服务器上创建虚拟机。

开始创建新的虚拟机:



选择【典型】,这个方式要设置的内容少些。



这里是设置系统镜像文件。



设置虚拟机的名称和存储位置。



设置虚拟机硬盘大小。



还可以【自定义硬件】,调整虚拟机的 CPU、内存等。点击完成就开始安装虚拟机操作系统了,和前面安装 CentOS7 系统一样。



不管是采用 Vmware ESXi 还是 Vmware Workstation 安装虚拟机,整个过程都做了一个演示,后面可以自行按照相应的方式将规划的其他几台虚拟机也安装好。

我这里规划的几台虚拟机都计划安装在 Dell R720 服务器上,目前都已经安装好了,如果是安装在自己使用的电脑上,如果电脑内存没有8G以上,并且 CPU 也比较差的话,在使用过程中感觉自己电脑会有很卡。如果自己有旧电脑、或者公司有服务器资源的可以尝试利用其他的计算机资源。

由于我是购买的二手服务器,外观上七八成的成色,内部就懒得拆机进行查看了。测试下磁盘读写速度,感觉还不错,至少读写性能还是杠杠的。

# 测试文件写入速度
# if=/dev/zero不产生IO,因此可以用来测试纯写速度
# 写入文件大小 = 8k * 500000 = 4G
$ time dd if=/dev/zero of=/home/$USER/out bs=8k oflag=direct count=500000 # 测试文件读取速度
# of=/dev/null不产生IO,可以用来测试纯读速度
$ time dd if=/home/$USER/out of=/dev/null bs=8k

我这里的执行出来的结果如下:

$ time dd if=/dev/zero of=/home/$USER/out bs=8k oflag=direct count=500000
记录了500000+0 的读入
记录了500000+0 的写出
4096000000字节(4.1 GB)已复制,49.9355 秒,82.0 MB/秒 real 0m49.969s
user 0m0.751s
sys 0m17.562s $ time dd if=/home/$USER/out of=/dev/null bs=8k
记录了500000+0 的读入
记录了500000+0 的写出
4096000000字节(4.1 GB)已复制,17.9543 秒,228 MB/秒 real 0m17.956s
user 0m0.354s
sys 0m7.236s

Docker 安装

# 卸载旧版docker或者docker-engine
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine # 有必要删除docker目录, 包括images, containers, volumes, and networks
$ sudo rm -rf /var/lib/docker/ # 先安装一些需要的工具
$ sudo yum install -y wget curl net-tools lsof yum-utils bash-completion telnet # 采用官方docker源安装
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo # 安装最新docker和docker-engine, 注意检查指纹密钥:060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
$ sudo yum install docker-ce docker-ce-cli containerd.io # 如果想安装其他版本的Docker,替换<VERSION_STRING>为指定的版本即可。
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io # 查看目前有哪些版本的Docker
$ yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror
可安装的软件包
* updates: mirrors.ustc.edu.cn
* extras: mirrors.aliyun.com
docker-ce.x86_64 3:20.10.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.14-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.13-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.12-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.11-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.10-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
Determining fastest mirrors
* base: mirrors.aliyun.com # 例如我这里安装18的最后一个版本
$ sudo yum install docker-ce-18.09.9-3.el7 docker-ce-cli-18.09.9-3.el7 containerd.io
# 实际应用最好安装最新的版本
$ sudo yum install docker-ce-20.10.1-3.el7 docker-ce-cli-20.10.1-3.el7 containerd.io # 启动docker
$ sudo systemctl start docker
$ sudo systemctl enable docker # 添加用户到docker组
$ sudo usermod -aG docker your-user
$ sudo usermod -aG docker $USER # 卸载docker和docker-engine
$ sudo yum remove docker-ce docker-ce-cli containerd.io
$ sudo rm -rf /var/lib/docker # 安装docker-compose
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 如果你从 Github 下载文件较慢,可以换成下面的命令
$ sudo curl -L "https://alittler.oss-cn-hangzhou.aliyuncs.com/software/docker/compose/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 设置可执行权限
$ sudo chmod +x /usr/local/bin/docker-compose
# 安装后如果提示没有 docker-compose 命令,执行如下命令添加 软连接到 /usr/bin
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 查看 docker-compose 版本
$ docker-compose --version # 设置Docker镜像加速
# 通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
$ sudo mkdir -p /etc/docker
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://my0hjxag.mirror.aliyuncs.com"]
}
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

Jenkins 基础篇 - 环境准备的更多相关文章

  1. Jenkins: 基础篇(环境配置)

    自动化领域比较有影响力的开源框架jenkins,确实比较强大,易用.很多公司将其用来做持续即成CI(continuous integration).为了拓展和强化自己的软件设计生态系统,也将很久前使用 ...

  2. Jenkins 基础篇 - 基础设置

    站点设置 刚搭建好 Jenkins 环境,你还需要做一些简单设置,让我们的 Jenkins 看起来是这么一回事,特别是你要用于生产环境的时候.首先就是域名配置,如果你为 Jenkins 服务分配了一个 ...

  3. Jenkins 基础篇 - 插件安装

    这一小节主要介绍 Jenkins 插件的安装,登录到 Jenkins 后,依次进入到[系统管理]→ [插件管理]→ [可选插件],在这里可以看到所有的 Jenkins 插件,如下图: 我们在最开始安装 ...

  4. Jenkins 基础篇 - 任务创建

    前面了解了 Jenkins 上各种任务的区别后,我们就来实践应用下,先创建一个[文件夹]类型的任务,将我们目前的一些基础的演示任务[移动]到文件夹里面去,这样可以先做个简单的分类. 新建一个[文件夹] ...

  5. Jenkins 基础篇 - 安装部署

    Jenkins 安装 Jenkins 支持主流的 Linux 发行版系统,同时还支持 macOS.Windows.和 Docker 运行. 具体系统的 Jenkins 安装包可以去官网下载 https ...

  6. Jenkins 基础篇 - 小试牛刀

    现在我们来创建一个简单的 Jenkins 任务,这个任务输出 Java 版本信息和系统信息,通过这个任务我们先了解创建 Jenkins 任务的流程,以及了解一些对任务的基础设置,接下来就是演示任务的整 ...

  7. Jenkins 基础篇 - 任务分类

    从前面的小节中我们看到在创建 Jenkins 任务的时候有好几种类型,如果你专门安装了 Maven 相关插件,可能还会有一个[构建一个 maven 项目]的任务类型,那这些任务类型究竟有何区别,以及我 ...

  8. Jenkins 基础篇 - Server 配置

    我们使用 Jenkins 部署服务之前要先配置我们的目标服务器,配置目标服务器也很简单,就是将服务器的 IP.账号密码或者账号密钥配置在 Jenkins中.在演示服务器配置之前我们要先知道 Linux ...

  9. Jenkins 基础篇-凭证配置

    我们在正式开始使用 Jenkins 之前还要先配置一些凭证,这些凭证的作用主要是用于认证,例如我们要从代码仓库拉取代码,就需要用到代码仓库的账号密码或者密钥:我们要登录远程服务器也需要用户名密码或者密 ...

随机推荐

  1. 不用任何框架,Java 就能实现定时任务的 3 种方法!

    是的,不用任何框架,用我们朴素的 Java 编程语言就能实现定时任务. 今天,栈长就介绍 3 种实现方法,教你如何使用 JDK 实现定时任务! 1. sleep 这也是我们最常用的 sleep 休眠大 ...

  2. Spring中各种扩展原理及容器创建原理

    一.BeanFactoryPostProcessor BeanFactory的后置处理器:在BeanFactory标准初始化之后调用,来定制和修改BeanFactory的内容:所有的bean定义已经保 ...

  3. WPF 应用 - WPF 播放 GIF 的两种方式

    1. 使用 Winform 的 PictureBox 1.1 引用 dll WindowsFormsIntegration.dll System.Windows.Forms.dll System.Dr ...

  4. 002-JVM部分

    JVM部分数据整理 一.运行时数据区域 Java运行时内存区域主要分为线程私有区域[程序计数器.虚拟机栈.本地方法区].线程共享区域[Java堆.方法区].直接内存(不受JVM GC管理) 1.线程私 ...

  5. 【数据结构与算法】——队列(Queue)

    队列(Queue)的一个使用场景 银行排队的案例: 队列(Queue)介绍 队列是一个有序列表,可以用数组或是链表来实现. 遵循先入先出的原则.即:先存入队列的数据,要先取出来.后存入的要后取出来. ...

  6. [THUPC2019] 找树

    一.题目 点此看题 二.解法 这道题很离谱啊,看上去是求一个最大值,其实是把生成树权值为 \(i\) 的个数都给算出来,因为权值很小. 既然是生成树可以考虑矩阵树定理,我们考虑他是求这样一个式子: \ ...

  7. Python中树的遍历-堆排序

    1.二叉树的遍历 遍历:迭代所有元素一遍. 树的遍历:对树中所有的元素不重复的访问一遍,也成扫描 广度优先遍历:层序遍历 深度优先遍历:前序.中序.后续遍历. 遍历序列:将树中所有元素遍历一遍后,得到 ...

  8. 某SQL注入--报错注入payload

    1.证明存在sql注入,根据这个报错语句,,有'  有% 2.payload  闭合语句 %' or (select extractvalue("anything",concat( ...

  9. python之模块与类库

    什么是模块 模块是一组类,函数,方法所组成的.这些类都储存在文本文件中..py是python程序代码中的扩展名,模块可能是c或者python写的.模块的扩展名可以是.py或者是.pyc(经过编译的.p ...

  10. java连接sql server--关于登录验证及对数据库增删改查应用

    一:步骤## 1.sql server建立数据库和相关表 2.建立数据源  (1).打开控制面板找到管理,打开ODBC选项或直接搜索数据源  (2).打开数据源配置后点击添加,选择sql server ...