微服务CI/CD实践(一)环境准备及虚拟机创建

微服务CI/CD实践系列:
 
微服务CI/CD实践(一)环境准备及虚拟机创建
微服务CI/CD实践(二)服务器先决准备
微服务CI/CD实践(三)Jenkins部署及环境配置
微服务CI/CD实践(四)Jenkins + Dokcer 部署微服务前端VUE项目
微服务CI/CD实践(五)Jenkins + Dokcer 部署微服务后端项目


文章主旨是在本地环境使用一台物理主机搭建CI/CD环境并部署一套前后端分离微服务项目。微服务项目采用前后端分离,前端主要是VUE架构,后端是Spring Cloud Alibaba 微服务架构。服务部署采用Jenkins + GitLab + Docker的CI/CD体系。基于Docker的CI/CD体系适用于服务节点规模不是特别大(通常是100以内)的场景 ,大规模服务节点部署建议使用k8s + server

一、环境准备

物理主机和虚拟机规划可以根据条件自行调整,操作系统因为对centos最熟悉,所有还是选择最熟悉Centos7作为虚拟服务器的镜像。

  • 物理主机:Lenovo ThinkSystem SR658 20 CPUs x Intel® Xeon® Silver 4210R CPU @ 2.40GHz
  • 虚化软件:ESXi-7.0U3n-21930508-standard (VMware, Inc.)
  • 虚拟镜像: CentOS-7-x86_64-DVD-2009.iso

二、 配置VMware ESXi

创建虚拟机使用 VMware ESXi 进行虚拟机的管理,选择 VMware ESXi是因为购买物理主机已经内置授权的商用 VMware ESXi ,如果没有安装虚化软件可以选择免费开源的KVM虚化软件。
使用外部显示器、键盘、鼠标等外设连接物理主机,开机根据指引初始化 VMware ESXi ,初始化完成重启服务器,进入ESXi 7.0 正式页面
在这里插入图片描述
按【F2】键输入root用户密码进入主机配置模式
首次登录后,建议更改默认密码
主机模式
在主机模式,选择“IPv4 Configuration”对IP进行配置,IP4配置根据实际的局域网情况对IP地址、子网掩码、网关路由、DNS解析进行配置。
network config
完成主机配置便可以使用浏览器远程访问ESXi 7.0 UI 。

三、 创建虚拟机

VMware ESXi 提供桌面管理UI 和 ESXi Shell继续虚拟机的维护管理,其中ESXi Shell默认是关闭的,如果有远程连接物理主机的需求,需要在物理主机上进行设置。
ESXi UI 通常是 https://{物理主机的IP}/ui/#/host,使用上一步骤设置的用户名和密码登录后进入ESXi 管理页面,ESXi UI 提供了主机管理、虚拟机管理、存储、网络等功能。

ESXi UI

3.1 虚拟机模板镜像上传

直接下载Centos官方镜像速度缓慢,我们使用阿里云国内镜像源进行下载:CentOS-7-x86_64-DVD-2009.iso
下载完成后 点击ESXi UI 功能导航>存储>datastore1>数据存储浏览器>上载 进行模板镜像上传
upload1
上载成功后,可以在存储浏览器中查看相关文件信息
iso xinfo

3.2 创建虚拟机

虚拟机配置说明参考官方文档
step1 点击左侧菜单导航>虚拟机管理>创建虚拟机>创建新的虚拟机
虚拟机

3.2.1 配置虚拟机基本信息配置

step2 配置虚拟机名称和客户机操作系统,这里选择linux centos7 64位操作系统,进入下一步
custom config
step3 选择存储,这里没有创建新的存储,直接下一步
store

3.2.2 虚拟硬盘配置

step4 自定义设置-cpu配置
我们计划配置一个8个cpu的虚拟机,为了获得最佳性能和资源利用效率,需要考虑以下几个方面:

  1. 物理 CPU 架构:
    • 物理主机有两个 CPU 插槽,每个插槽有 10 个内核,共 20 个物理内核。
    • 每个物理内核可能支持超线程技术,这意味着每个物理内核可以模拟两个逻辑处理器,因此总共可能有 40 个逻辑 CPU。
  2. 虚拟机 CPU 配置:
    为了优化性能,应该考虑以下几点:
    • 分配的 CPU 数量:选择合适的 CPU 数量以匹配虚拟机的应用需求。
    • CPU 核心数与线程数:决定每个虚拟 CPU 是否对应一个物理核心,还是多个虚拟 CPU 共享一个物理核心。
    • NUMA 结构:考虑虚拟机的 NUMA 结构与物理主机的 NUMA 结构相匹配。
  3. 最优配置:
    核心数:建议将虚拟机的 CPU 核心数设置为 8,这样每个虚拟 CPU 都可以对应到一个物理核心。
    NUMA 结构: 如果虚拟机的应用程序能够从 NUMA 优化中受益,可以考虑将虚拟机配置为 NUMA 意识型,比如将虚拟机配置为两个 NUMA 节点,每个节点有 4 个核心。NUMA 结构主旨是提升多核心处理内存性能,降低内存访问延迟、提升内存带宽以及内存资源分配优化,NUMA 架构非常适合数据库服务器和高性能计算集群,因为它可以提供更高的内存带宽和更低的延迟。但是NUMA 结构同样会带来跨节点访问延迟、内存一致性、调度复杂度、编程复杂度、资源竞争等问题。因此,在所安装的应用程序没有明确指名对NUMA进行支撑和优化,建议避免使用跨核心配置。

如下图,是8内核虚拟机的参考配置
cup config
step5 自定义设置-存储配置
存储配置根据虚拟机实际情况进行合理配置
store config
step5 自定义设置-驱动配置
选择数据存储ISO文件
isoconfig
选择步骤1.2.1 上载的虚拟机模板镜像
在这里插入图片描述
其他配置选择默认,直接进入下一步,点击完成。

3.2.3 虚拟机操作系统初始化

step6 开机->进行虚拟机初始页面,选择Install Centos7
在这里插入图片描述
在这里插入图片描述
step7 等待系统自检完成进入Centos7 Install 引导页面,选择语言>中文>简体中心,继续下一步

在这里插入图片描述
step8 选择软件安装>
在这里插入图片描述
根据需求选择合适的基本环境和选择环境的附加选项,如果没有特殊需求,建议选择基础设施服务器,他模式下会安装网络服务器必备的系统软件。
在这里插入图片描述

3.2.4 虚拟机网络配置

step9 选择网络配置

在这里插入图片描述
进入网络配置页面,配置主机名并点击配置进入网络配置
在这里插入图片描述
在网络配置页面选择IPV4设置->手动设置
在这里插入图片描述
点击add,新增IPV4配置,点击保存完成配置
在这里插入图片描述
返回网络配置页面,点击启用按钮会显示ipv4设置信息,并点击完成
在这里插入图片描述

3.2.5 虚拟机用户名密码配置

完成上述配置后点击完成,进入密码设置页面,配置虚拟机root账户和用户
在这里插入图片描述

step10 配置虚拟机root账户、普通账户
在这里插入图片描述
设置完用户名密码后自动进行软件安装,等待系统完成安装即可
在这里插入图片描述
初始完成后,点击重启
在这里插入图片描述
重启完成,查看虚拟机基本信息
在这里插入图片描述

3.2.6 使用xshell远程连接检查安装是否成功

四、 服务器规划

文章的示例基于spring cloud alibaba 微服务框架, 后端工程基座采用jdk8 + Spring Boot 2.2.9.RELEASE + spring-cloud Hoxton.SR7 + spring-cloud-alibaba 2.2.1.RELEASE + postgresql + redis + minio,前端采用VUE框架。按照上述前后端技术栈完成微服务前后端服务的CI/CD预计需要6台虚拟机。

虚拟服务器具体规划如下:

  • gitlab-server 8C16G 500GB硬盘
  • db-server 8C16G 500GB硬盘 包含postgresql 和 redis
  • jenkins-server 4C8G 200GB硬盘
  • nacos-server/nexus3 4C8G 200GB硬盘
  • minio-server 4C8G 200GB硬盘
  • docker-server 16c 16G 200GB硬盘
    虚拟服务器需要分配固定IP地址。

本文服务器规划仅适用于开发环境,对于正式环境应该考虑服务器和应用服务的高可用性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值