课程评价 (4)

请对课程作出评价:
0/300

学员评价

用户5***687
2019-08-12
标准运维源码无法下载,连接密码错误
腾讯***智云
2019-05-10
这个产品已经开源了,可以进行更多的标准插件(原子)开发了 https://github.com/Tencent/bk-sops
用户3***618
2018-10-30
文档不喜欢,来点实际的
用户3***517
2018-10-23
可以
50分钟

标准运维实战(实验手册)

获取更多课程代码包,请添加学院君微信(Tcloudedu)二维码在文档底部,回复关键字 “ 蓝鲸 ”

一、实验概述

蓝鲸平台提供了完善的运维解决方案,并且通过前后台开发框架、公共组件等模块,帮助业务的产品和技术人员快速构建低成本、免运维的支撑工具和运营系统。相信大家已经在迫不及待地想把蓝鲸平台落地到自己的企业中了。但是,你可能发现企业内旧系统迁移难度大、周期长,而你又不想频繁地在旧系统和蓝鲸平台之间切换,《标准运维原子开发课程》也许能帮你解决这些难题。

腾讯云 TechWork《运维开发公开课》专场第2场,将邀请蓝鲸高级开发工程师,为你介绍标准运维系统,学习标准运维原子开发,把企业内系统接入标准运维中,在蓝鲸平台内整合各个系统能力,实现自动化调度。

二、准备工作

1.蓝鲸社区版环境及账号(培训方提供,不需要自己搭建)

2.蓝鲸应用开发环境(安装指南见蓝鲸开发者中心)

3.本地安装 rabbitmq、celery 和 redis

4.自己用起来顺手的 IDE,推荐 PyCharm

5.git 仓库管理工具,命令行即可

三、任务准备:创建一个蓝鲸应用

任务目标:在蓝鲸 PaaS 开发者中心,创建一个蓝鲸应用,然后在蓝鲸官网Smart 市场下载标准运维应用来初始化项目代码。

1.创建蓝鲸应用

a)创建一个代码仓库

b)打开蓝鲸开发者中心,创建一个蓝鲸应用

应用 ID:你的名字2,如:bktest2

仓库地址:上一步中创建的 git 仓库地址

2.初始化项目代码

a)下载标准运维源码

下载链接:https://share.weiyun.com/5gd1Rdi ,密码:sehjru 。

b)初始化 git 仓库

在解压后的项目代码路径(不要包含中文)下执行如下命令:

git init
git remote add origin http://can.o.qcloud.com/course/page2.git
git add *
git commit -m "init sops"
git push origin master

3.本地运行准备

a)安装 python 依赖包

pip install –r requirements.txt

注意:如果 windows 用户遇到安装 ujson 报错的情况,请下载并安装 VCForPython2.7,链接:https://www.microsoft.com/en-us/download/details.aspx?id=44266

b)本地配置 host

windows: 在 C:\Windows\System32\drivers\etc\host 文件中添加“127.0.0.1 dev.paasce-poc.o.qcloud.com”。

mac: 执行 “sudo vim /etc/hosts”,添加“127.0.0.1 dev.paasce- poc.o.qcloud.com”。

c)修改项目配置

修改 conf/default.py 中下面三列,APP_ID 为你创建的应用 ID,APP_TOKEN 在应用详情中获取,BK_PAAS_HOST 为蓝鲸 PAAS 的域名。

修改 conf/settings_development.py 的本地数据库账号密码。

d)创建本地数据库

CREATE DATABASE `bktest2` default charset utf8 COLLATE utf8_general_ci; 

bktest2替换为你的应用 ID。

e)初始化数据库表

python manage.py migrate
python manage.py createcachetable django_cache

4.本地运行标准运维项目

执行如下命令启动 python 和 celery 进程

python manage.py runserver 8000
python manage.py celery worker –l info

5.访问标准运维

用浏览器打开:http://dev.paasce-a.o.qcloud.com:8080/

四、任务一:开发一个简单原子——Hello World

1.创建如下结构的 custom_atoms 目录

注意 ,custom_atoms/components/collections 每层目录中有需要包含 __init__.py 文件。这里可以直接拷贝附件中的 custom_atoms 目录。

2.把 custom_atoms 添加到 INSTALL_APPS 中

编辑 conf/settings_custom.py,找到 18—39 行,添加 custom_atoms

3.编写原子后台服务

在 custom_atoms/components/collections 下添加 test.py 文件,编写如下内容。这里可以直接拷贝附件中的 custom_atoms1 中的 test.py 文件。

4.配置原子前端

在 custom_atoms/static/custom_atoms 目录下新建 test 文件夹,并新增 test_simple.js。这里可以直接拷贝附件中的 custom_atoms1 中的 test 目录。

5.编写原子定义并绑定到前后端

继续编辑第 3 步中创建的 test.py,添加如下代码。如果第 3 步中已经拷贝了附件中的代码,这里可以不用重复添加。

6.收集静态资源到根目录下的 static 中

在项目根目录下执行如下命令:

python manage.py collectstatic –noinput

7.重启 python 和 celery 进程

python manage.py runserver 8000
python manage.py celery worker –l info

8.新建流程模板,并选择”自定义原子(TEST)-简单原子“

9.通过新建的流程创建任务并执行

失败的情况

成功的情况

10.修改测试环境和正式环境数据库信息

使用官方提供的测试环境数据库账号密码,修改 conf/settings_testings.py 中的数据库配置

11.提交最新代码

git add *
git commit -m "init sops"
git push origin maste

12.部署应用

前往蓝鲸开发者中心,找到你开发的应用,勾选“启动celery“和”启动周期性任务“选项并点击部署。部署后就可以在线上环境访问你的应用了。

五、任务二:开发一个接入 API 网关的原子

1.添加自定义的 API 到 SDK

在 blueking/component/apis 添加 demo_job.py (demo_job为你编写的 API 系统名,下同)文件,并写入如下内容注册 API 网关到 SDK 。这里可以直接拷贝附件中的 blueking 中的 demo_job.py 文件,并修改为你自己的系统名。

修改 blueking/collections.py 文件,导入你添加的模块,并在字典最后添加API 映射关系。这里可以直接拷贝附件中的 blueking 中的 collections.py 文件,并修改模块和类名。

2.编写原子后台服务

在 custom_atoms/components/collections 下添加 demo_job.py 文件,编写如下内容。这里可以直接拷贝附件中的 custom_atoms2 中的 demo_job.py 文件。

3.配置原子前端

在 custom_atoms/static/custom_atoms 目录下新建 demo_job 文件夹,并新增 demo_job_fast.js。这里可以直接拷贝附件中的 custom_atoms2 中的 demo_job 目录。

4.编写原子定义并绑定到前后端

继续编辑第 2 步中创建的 demo_job.py,添加如下代码。如果第 2 步中已经拷贝了附件中的代码,这里可以不用重复添加。

5.收集静态资源到根目录下的 static 中

在项目根目录下执行如下命令:

python manage.py collectstatic –noinput

6.重启 python 和 celery 进程

python manage.py runserver 8000
python manage.py celery worker –l info

7.新建流程模板,并选择”自定义原子(TEST)-快速执行脚本“。

8.通过新建的流程创建任务并执行。

六、实验总结

本次实验主要带大家体验了在标准运维 SaaS 中快速开发一个自定义原子并接入 API 网关,希望通过本次课程,可以帮助大家学会利用蓝鲸平台的能力,接入企业内已有系统,平滑地完成企业内系统迁移和升级,更多内容请查询蓝鲸官网。