云计算介绍和DevOps实战

一、课程介绍

1、什么是云计算

云计算和云没有任何关系,云计算是与信息技术、软件、互联网相关的一种服务

  • 虚拟化(Virtualization)是基础(计算,存储,网络等)
  • 产品服务化(laas,Paas,Saas...Xaas)
  • 弹性伸缩,没有边界

2、云计算分类

  • 公有云(AWS,阿里云,Azure等)
  • 私有云(Vmware等)
  • 混合云(Azure,Rackspace)

3、公有云

  • 云服务提供商对基础设施维护
  • 多租户
  • Pay For Use

4、私有云

  • 自己维护云基础设施
  • 单租户或狭义上的多租户
  • Pay for Cloud

5、混合云

  • 云服务提供商维护自己的云设施
  • 用户范围内租户隔离
  • Pay For Use of Cloud

6、DevOps

  • DevOps = Development + Operations
  • 极速的迭代和快速的用户反馈

DevOps完整研发周期

7、课程要点

(1)什么是云计算和DevOps

(2)阿里云服务简介

(3)在阿里云上以DevOps简单实现网站搭建:

  • 基本业务代码实现
  • 管理面代码实现
  • 代码托管打包构建
  • 部署上线
  • 设置监控告警
  • 网站简单的自我恢复

二、阿里云平台的简单介绍

有了云服务器,我们不用自己建机房,自己买服务器,可以按需交钱购买

控制台

监控

通过监控,我们可以实时的看到服务器各方面的情况

服务器登陆

登陆到服务器(登陆前需要重置示例密码)

三、把网站部署上云服务器

1、案例和go简介

(1)github介绍

首先介绍一个全球最著名的代码托管网站:github,也可以使用gitee

如果访问速度慢,可以下载一个加速插件:fastgithub,或者使用Gitee

(2)新建一个仓库用于自动化部署

(3)克隆仓库

复制地址,将它克隆到本地:

克隆命令如下:

按照以下步骤创建go文件:

go语言是一门非常简单轻便的语言,是跨平台的,不像java需要在本地装JVM,使用十分方便,编译好丢到目标平台就可以直接用

(4)安装go

使用命令:yum -y install golang

2、本地创建运行项目

(1)创建文件

编辑main.go文件后,ESC后shift+:,输入wq回车保存

查看代码内容:

(2)创建项目文件

创建一个go.mod项目文件,名为testProject,命令:go mod init testProject

(3)编译文件

编译文件:输入go install

没报错就说明编译成功,然后查看go所有的环境变量,输入:go env

(4)本地运行项目并访问

进入/root/go/bin找到可执行文件进入后,网页地址栏输入:127.0.0.1:8000

新开一个窗口:

可以看到自己的文件内容了

3、将web server部署到阿里云

(1)编译文件

进入server文件夹,输入:env GOOS=linux GOARCH=amd64 go build main.go

输入ls进行查看,发现本地多了一个文件:

(2)git添加文件

现在我们要把这个文件上传到gitee:

git add .:添加所有文件

git status:查看文件状态

(3)提交代码

使用git commit提交代码:

报这个错说明没有设置邮箱和用户名,设置一下即可:

git config --global user.email 'you@example.com'

git config --global user.name 'Your name'

再次提交:

(4)上传代码

git push origin master(一般我们不推荐用master推,现在学习可以用)

已经上传完成,进入gitee仓库进行查看

(5)服务器上启动服务

(6)复制阿里云地址

(7)访问服务

阿里云服务器要开放8080这个端口,浏览器才能访问我们的服务

或者直接点击左侧栏位:

设置好后浏览器访问服务地址:

此时就可以访问了

4、deploy server开发

(1)缺陷

上面的部署几乎是全手动的,这样不仅效率低下,不安全还容易出错,手动步骤存在:

git pull 然后开发,编译

git push->git pull。。。。

deploy

其实这三个步骤不用手动的话是完全可以完成的,接下来我们让这个过程变得更自动话一些

(2)开发deployserver

在webserver同级创建deployserver文件夹

然后进入deployserver创建main.go文件:

通过vi main.go进行代码编写:

(3)编写脚本文件

在外面增加一个push文件的脚本

通过vi deploy.sh进行编辑,kill -9 $(pgrep 你的server进程名),内容如下:

(4)编译server

最后进入deployserver创建mod文件并对go文件进行编译(首次生效)

或者输入:env GOOS=linux GOARCH=amd64 go build main.go 进行编译

(5)上传代码

退到项目根目录进行代码上传:

打开git发现上传成功:

5、完成三部分的自动化部署

(1)改动deployerver和脚本目录

首先我们需要退到项目所在根目录

然后将自动化部署服务和脚本拷贝到项目同一路径

(2)增加脚本执行权限

并且给这个脚本文件赋予读写执行权限:

标题二

(3)启动服务

启动服务

(4)开放deployserver端口

访问前需要服务器打开5000端口,同上

(5)访问服务

浏览器访问部署服务地址(5000端口)

这次我们不需要再进入webserver手动启动服务,我们直接通过浏览器访问8080端口

说明我们的自动化脚本生效了,deployserver成功调用deploy.sh脚本启动了webserver服务

(6)最后的自动化

这个时候你可能问,deployserver管理服务运行的时候,不也是通过手动刷新5000端口网页去启动webserver服务的吗,打开5000端口网页这个动作不也是手动的吗,的确,我告诉你个小妙招,gitee和github有个Webhooks功能,可以在push的时候自动访问5000端口网页,从而在deployserver保持运行状态的时候实现自动化部署,前提是:deployserver需要一直保存运行状态

好的,添加好webhooks后,我们可以修改代码内容,编译进行push上传,看看是否自动化部署了

然后此时不需要访问5000端口页面就可以访问webserver服务:

没错,简单的自动化部署就这样完成了,难一点的无非就是在这个基础上扩展和加深而已

(7)项目后台运行

如果你想让你部署的项目能在后台一直运行,可以使用screen工具

安装:yum -y install screen

建立后台窗口:screen -S 窗口名字

在这个窗口里运行你的项目就好,然后使用CTRL+a+d退出保存,这样即便你的服务器终端断开连接,你的项目也能后台一直运行了

6、云监控设置

(1)创建任务

站点监控可以对我们的网页进行监控,本次我们监控站点:http://123.57.217.51:8080/

(2)设置告警规则

(3)监控查看

四、课程总结

总结一下,我们大概做了一个简单在阿里云上以DevOps简单实现网站搭建的工作

  • 基本业务代码实现(业务面webserver和管理面deployserver)
  • 代码的编译构建打包以及简单的DevOps自动化
  • 利用阿里云完成网站的部署和监控
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网络运维项目实战案例可以包括以下内容: 1. 企业网络及云计算运维的流程:包括前期调研、策划、需求分析、总体设计、详细设计、部署、测试、文档及PPT编写等环节的工作任务。通过模拟企业的实际项目部署流程,提高网络运维实战能力。 2. 云计算的网络运维项目:了解、熟悉云计算的网络运维项目,包括网络/服务器运维及架构技术。通过模拟真实的企业网络环境,完成项目的前期问题分析、问题解决思路、项目实施、总结归纳等工作,提高网络运维的实践能力和云计算运维实战能力。 3. 项目交付清单:包括立项、论证、需求分析、需求管理、项目开工、项目实施、项目开发、项目测试、项目管理、项目培训、项目部署、项目交付、项目运维等全部环节。通过完整的项目交付清单,帮助项目团队全面管理和掌握项目的进展和完成情况。 4. 方案技术:根据项目需求,可能需要使用到一些技术,如STP解决二层环路带来的广播风暴和链路冗余问题,以太网通道提高网络链路带宽,RIP路由协议实现网络路径的自动学习,HSRP实现网关冗余等技术。在项目实施中,根据方案需求选择合适的技术进行配置和操作。 综上所述,网络运维项目实战案例涵盖了项目流程、云计算运维、交付清单和方案技术等内容。通过这些案例可以提高网络运维的实践能力和云计算运维实战能力。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [网络运维实战项目(端午水篇)](https://blog.csdn.net/qq_43417559/article/details/125111121)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [项目经理的福音,刚做项目经理的时候整理的,项目交付也是参考了本交付清单进行整理的文档,希望对大家有用](https://download.csdn.net/download/weixin_44060454/88230735)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值