什么是DevOps?
一、DevOps 工具链
项目管理(PM):Jira
代码管理:GitLab
持续集成(CI):GitLab CI
镜像仓库:VMware Harbor
容器:Docker
容器平台: Rancher
镜像扫描:Clairctl
编排:Kubernetes
服务注册与发现:etcd
脚本语言:python
日志管理:EFK
系统监控:prometheus
Web服务器:Nginx
数据库:MySQL redis
二、DevOps 架构
DevOps 流水线(工具链)
三、DevOps环境部署
备注: 按照 DevOps 流水线顺序部署
先部署,后续实战中简介如何把流水线打通,实现通过平台一键发布功能
(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>)
1、安装JIRA(项目管理)
JIRA简介:
JIRA 是 Atlassian 公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。 JIRA 中配置灵活、功能全面、部署简单、扩展丰富,其超过150项特性得到了全球115个国家超过19,000家客户的认可。
安装配置过程请参考:官方网站
JIRA 使用:
以下是通过JIRA管理的驻云内部运维平台视图
2、安装 GitLab(代码管理)
GitLab 简介:
Git 是目前世界上最先进的分布式版本控制系统(没有之一), 而 GitLab 是基于 git 协议开发 Web 控制台,Git 命令能操作的大部分功能, 都可以通过gitLab web控制台操作。
GitLab 安装:
请参考:GitLab 安装详情
3、安装 Docker(容器服务)
Docker 简介:
Docker 是通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率。 三大理念:Build(构建)、Ship(运输)、Run(运行) Docker 组成:Docker Client、Docker Server
Docker 安装:
请参考: Docker安装详情
4、安装 Rancher(容器调度)
Rancher 简介:
Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。 Rancher由以下四个部分组成: 基础设施编排、容器编排与调度、应用商店、企业级权限管理 下图展示了Rancher的主要组件和功能:
Rancher 安装:
请参考: Rancher安装部署
5、安装 Harbor(镜像仓库)
Harbor 简介:
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。 Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
Harbor 安装:
请参考:安装详情
6、安装 Clair(镜像扫描)
Clair 简介:
Clair 的功能通过 Restful API 实现,但是每个 API 参数很多,而且上传镜像时还有很多复杂的处理。所以 CoreOS 为我们提供了 Clairctl 这款工具。Clairctl 是一个 Clair 客户端, 让用户可以通过简单的命令就能实现镜像的上传、扫描、输出报告等等。
Clair 安装:
请参考:安装详情
四、应用实战篇(部署验证)
1、创建应用
备注: 以Python Flask为例
a) 环境准备: CentOS7.+ Python 2.7.0+ Flask 0.11 +
b)环境安装:
c)创建应用
d)添加代码:
e)启动测试:
最终实现,打开浏览器输入 http://localhost:5000/
2、容器化
a)编写Dockerfile
b)构建镜像
docker build -f dockerfile -t webapp .
c)查看本地镜像列表
d)启动构建后的容器
最终实现,打开浏览器输入 http://localhost:5000/, 容器化成功,此时你可以把该容像迁移至任何docker环境运行。
3、添加镜像到镜像仓库
a)创建项目
b)上传镜像
4、代码托管
a)登录已经安装好的Gitlab
b)创建项目
c)关联本地代码
d)确认Gitlab仓库代码已提交
刷新浏览器, 选择 Repository → 文件
5、CI配置(CI流水线)
a)创建gitlab CI配置文件
注意: 此文件属于隐藏文件, 在当前目录可以通过 ls -a命令查看。
b)Gitlab 配置runner, 开启共享runner
c)重新提交代码到gitlab仓库
d)Gitlab CI自动构建镜像
最终,整个过程自动执行, 最终产生可以发布的镜像
6、一键发布
a)创建应用
在浏览器打开Rancher容器管理平台
b)添加服务
c)发布验证
进入webapp应用→选择web服务→选择端口→点击主机IP,此时自动跳转到我们开发的应用程序WEB页面
最终,恭喜你, 你已经成功进入新的领域, 祝你一路顺风。
7、应用升级
a)更新代码
我们继续开发webapp应用程序, 添加新代码进入app.py
b)提交代码
c)自动流程线CI
自动执行编译构建
产生新的docker镜像
d)升级发布
点击升级按钮
点击升级, 升级过程自动下载新镜像并运行, 此时旧版本还存在
点击升级完成。 如果升级失败可以选择旧版本回滚
e)升级验证
最终,恭喜, 你成功了!
你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:
相关文章
- Python+Opencv解析一段视频并逐帧保存到本地
- Python+Opencv读取高帧率USB摄像头问题
- 如何与B&S建立EDI连接?
- 处理器基础知识总结
- 制作iOS应用程序,需要注意哪些问题?
- 纵有疾风起,Petterp与他的2022
- SOLIDWORKS Electrical 2023新功能
- 自学开发技术,从入门到入行
- 这一年,熬过许多夜,也有些许收获 | 2022年终总结
- 高质量编码-考勤记录日历可视化
- [oeasy]python0052_ raw格式字符串_单引号_双引号_反引号_ 退格键
- 包年包月与产品配置升级说明
- Echarts的legends 禁用点击事件但不影响鼠标悬浮事件
- 百毒文库,网盘,视频...-IDM多个版本(电脑、手机、浏览器插件都有)
- CleanMyMac X 2023最新详细的测评以及其最佳 Mac Cleaner 替代品
- 车联网进入发展快车道,小程序成为最佳实践方案
- 海康visionmaster-图像Bitmap和CmvdImage互转的方法
- 多目标建模算法PLE
- 量子计算(二十):量子算法简介
- WKWebView接入PDF.js过程记录处理总结