zoukankan      html  css  js  c++  java
  • 【华为云实战开发】13.如何在云端快速搭建python网站

    概述

    1.1 文章目的

    本文主要想为研发Python项目的企业或个人提供上云指导,通过本文中的示例项目 “AI物体检测”,为开发者提供包括项目管理,代码托管,代码检查,编译构建的操作指导,覆盖软件开发全生命周期。

    1.2 项目详情

    项目简介:AI物体检测应用程序,浏览器从本地上传JPG、PNG和JPEG格式的图片,使用已经训练好的AI模型进行图片检测,返回检测结果。

    图片1.png

    项目周期:3周(敏捷迭代开发)

    构建环境:docker 18.03

    部署环境:华为云集群节点

    华为云服务:软件开发服务 DevCloud  

    容器镜像服务 SWR

    云容器引擎 CCE

    1.3 前提条件

    注册华为云账号:华为云官网注册华为云账号,此账号适用于所有华为云产品。

    华为云集群节点:部署将使用虚拟机集群,Kubernetes社区基线版本为1.9.10。

    项目管理

    2.1 创建项目

    新建项目的开发流程包含两种类型:scrum流程、看板流程。Scrum流程是标准的敏捷开发流程,工作项层级为传统的scrum划分方法Epic->Feature->Story->Task&Bug,本项目为把工作划分的层级更清晰,选择了scrum流程。

    图片2.png

    2.2 创建迭代

    本项目研发周期短,只有一次release,划分成三个迭代,迭代周期为一周。

    代码托管

    3.1 创建仓库

    Ø 新建代码仓库时,选择“模板新建”,在搜索框中输入已经被公开为示例模板的仓库名称object_detection,选择该模板。

    图片3.png

    Ø 输入新的仓库名称(可以和模板仓库同名),即可创建代码仓

    图片4.png

    构建&发布

    4.1 SWR上传基础镜像

    对于很多python语言项目,都会用到一些基础安装包,如果每次构建都重新安装显然是不合理的,所以,我们可以自己创建包含工程依赖包的镜像,上传到SWR服务中,构建时直接使用。本项目中使用的就是SWR中自己上传的自有AI镜像。

    在SWR服务中,点击“客户端上传”,会显示上传指导说明,本小节通过具体步骤辅助大家实践。

    图片5.png

    ① Linux系统上安装docker

    查看本地docker.io源并安装,可以通过“=”指定版本,如:docker.io=1.13.1-0ubuntu1~16.04.2,也可以不指定版本,那么,默认安装本地最新。如果想安装docker.ce(社区版)或者docker.ee(企业版),可以通过更新docker源获得。

    # sudo apt-cache madison docker.io

    # sudo apt install docker.io

    ②  通过当前路径下的Dockerfile文件构建自有ubuntu镜像

    # sudo docker build -t aienvir :16.04 .

    Dockerfile文件内容如下,按照这些信息会在基础ubuntu环境中逐一安装:

    图片6.png

    ③ 上传镜像

    #sudo docker login -u cn-north-1@cWazX6gbL80EO2XNw4Pp -p 2b8676812056e24a3fc2da3abe4d6ae40f17b4b912488dda2bc7060c43a7d1ac swr.cn-north-1.myhuaweicloud.com

    #sudo docker tag aienvir :16.04 swr.cn-north-1.myhuaweicloud.com/org-pj/aienvir :16.04

    #sudo docker push swr.cn-north-1.myhuaweicloud.com/org-pj/aienvir :16.04

    其中,org-pj为镜像所属组织,可以在SWR的“组织管理”创建。

    ④ 在SWR中查看上传镜像

    图片7.png

    ⑤ 将镜像权限设置成“公开”,才能在构建任务中使用

    图片8.png

    ⑥ 获取该镜像地址(docker pull后面内容),在代码仓库dockerfile中引用

    图片9.png

    4.2 创建构建任务

    Ø 新建任务,输入任务名

    图片10.png

    Ø 选择源码仓库

    图片11.png

    Ø 不使用模板,直接创建任务

    图片12.png

    Ø 点击左侧“+”,选择“使用SWR公共镜像”操作类型

    图片13.png

    Ø 输入构建详细信息

    图片14.png

    注意:“组织”需要在容器镜像服务中预先创建完成:

    图片15.png

    4.3 构建目标

    执行构建任务时,会根据object_detection代码仓库中Dockerfile文件依次执行任务:

    图片16.png

    部署

    5.1 非模板部署任务

    Ø 新建部署任务,部署类型选择“非模板任务”

    Ø 编辑“部署设置”

    ① 选择已购买的集群

    ② 选择SWR生成的镜像,并设置内存及CPU大小

    ③ 输入设置访问方式:容器端口为Dockerfile中“EXPOSE”开放的端口,对应的访问端口为服务器访问端口。

    图片17.png

    5.2 查看部署效果

    部署成功后,在华为云应用引擎中,可以在工作负载中查看“无状态”节点

    图片18.png

    点击“外部访问网址”,登录服务器,上传图片进行图片识别

    图片19.png

    至此,恭喜您打通了DevCloud的各服务,完成了python云上开发环境的搭建。

    华为云DevCloud,5人以下额度范围内,可以免费使用,并且可以预约免费的产品演示和技术交流,详情查看华为云官网

  • 相关阅读:
    C# Redis实战(四)
    C# Redis实战(三)
    C# Redis实战(二)
    C# Redis实战(一)
    C#连接内存数据库redis【1、Redis存读取数据】
    C#连接内存数据库redis【1、安装配置】
    c#根据配置文件反射
    内存数据库:Redis与Memcached的区别
    内存数据库:memcached与redis技术的对比试验
    【转】【涨姿势】支付宝怎么做风险控制?
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13166062.html
Copyright © 2011-2022 走看看