Python应用容器化(二)----使用阿里云容器服务部署应用

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 我们曾经在Python程序容器化(一)中介绍了如何将一个克隆版Twitter程序(retwit-py)容器化,并使用docker-compose运行于宿主机上。对于经典的Web程序,处理前端请求的Web服务通常都是可扩展伸缩的。生产环境中,随着访问量的不断增长,需要部署多个Web服务实例,并通过负载

前言

我们曾经在[Python程序容器化(一)]中介绍了如何将一个克隆版Twitter程序(retwit-py)容器化,并使用docker-compose运行于宿主机上。对于经典的Web程序,处理前端请求的Web服务通常都是可扩展伸缩的。生产环境中,随着访问量的不断增长,需要部署多个Web服务实例,并通过负载均衡统一对外进行服务。本文将会介绍如何使用阿里云容器服务将retwit-py改造为贴近生产环境的系统并部署。

阿里云容器服务

容器服务是一项高性能可扩展的容器管理服务,支持在一组阿里云云服务器上通过 Docker容器来部署或编排应用。用户不再需要安装、运维、扩展自己的集群管理基础设施,而是可以直接通过阿里云控制台图形化界面或API进行容器操作和生命周期管理。容器服务整合了阿里云负载均衡SLB、专有网络 VPC等云产品,为云应用部署与运维场景提供丰富的一站式功能支持。

服务改造

我们计划部署3个Web服务实例和1个DB服务实例,为了提高整体服务的可靠性,我们首先建立一个包含了3台虚拟机的集群python-demo。

准备镜像

在[上篇文章]中,我们通过Dockerfile构建了retwis-py的镜像,使用docker命令查看镜像列表:

    $ docker images
    REPOSITORY                                   TAG                 IMAGE ID            CREATED             SIZE
    retwis-py                                    latest              eba6c2652c0a        2 hours ago         682.7 MB
    redis                                        3.0                 9afdbcd3766e        3 days ago          151.3 MB
    registry.aliyuncs.com/acs/routing            0.5                 40cd035735ea        5 days ago          217.8 MB
    registry.aliyuncs.com/acs/agent              0.5-477bce1         32247750d584        5 days ago          27.39 MB
    registry.aliyuncs.com/acs-sample/python      2.7                 0e45459a5626        13 days ago         675.7 MB
    registry.aliyuncs.com/acs/tunnel-agent       0.21                7b6077b610be        11 weeks ago        8.771 MB

我们需要将构建的retwis-py镜像push到docker registry上。你可以将镜像push到docker hub上,也可以使用阿里云提供的registry服务以避免网络原因造成的docker镜像下载失败。关于使用阿里云Registry服务的文档请参考文档
阿里云容器镜像服务支持从github自动编译镜像,但本文选择手动上传镜像的方式,将本地构建好的镜像retwis-py推送到阿里云的Registry上:

    $ docker tag eba6c2652c0a registry.aliyuncs.com/acs-sample/retwis-py:latest
    $ docker push registry.aliyuncs.com/acs-sample/retwis-py

使用阿里云容器服务

我们首先在容器服务页面创建一个编排模版,阿里云编排模版格式是基于Docker Compose的YAML格式,并在此基础上加入阿里云容器服务特有的一些扩展。Python镜像构建Web server镜像,Dockerfile如下所示:

    web:
      image: registry.aliyuncs.com/acs-sample/retwis-py
      command: python app.py
      ports:
        - "8080"
      links:
        - db:redis
      restart: always
      labels:
        aliyun.scale: '3'
        aliyun.routing.port_8080: 'http://retwis-py'
    db:
      image: redis:3.0
      restart: always

与上篇文章中的docker-compose.yml文件相比,多了labels定义:

    aliyun.scale: '3'

"aliyun.scale" 指定了部署实例的个数。

    aliyun.routing.port_8080: 'http://retwis-py'

“aliyun.routing.port_8080“ 配置了路由服务,将用户的域名和容器8080端口绑定到一起。
在阿里云容器服务中,每个集群都有一个SLB服务对外提供Web服务。用户需要将指定的域名绑定到容器集群的SLB实例的IP即可,同时还提供了一个测试域名供用户使用。

创建应用

容器服务页面选择“应用“-“创建应用“,创建一个新的应用(例如:retwis-py-demo),并选择要部署的集群(例如:python-demo),“使用编排模版创建“进入下一步。
Screen_Shot_2016_02_28_at_3_19_55_PM

可以选择“使用已有编排模版“加载刚刚编辑的docker-compose文件,或者直接编辑。
Screen_Shot_2016_02_28_at_3_26_21_PM

点击“创建并部署“后,完成服务的创建。
Screen_Shot_2016_02_28_at_3_26_44_PM

查看应用

成功部署后,可以在应用页面查看其状态
Screen_Shot_2016_02_28_at_3_34_45_PM

然后从详情里面可以看到测试域名为: http://retwis-py.c8d0e9e2d767249baa2ff87a513f7aa4e.cn-beijing.alicontainer.com 打开浏览器访问这个地址就可以看到熟悉的Home界面了。
Screen_Shot_2016_02_28_at_3_35_23_PM

总结

使用阿里云的容器服务可以非常简单地将一个复杂的Web服务部署运行起来,而所需的工作只是使用阿里云的docker compose的扩展label对原有docker compose YAML文件进行简单改造。同时,阿里云容器服务还提供的Web应用的弹性路由服务,是用户可以非常简单地在外部通过域名或VIP的方式访问到容器化的服务,为用户节省了大量的工作。

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
23天前
|
运维 Kubernetes Java
阿里云容器计算服务ACS ,更普惠易用、更柔性、更弹性的容器算力
ACS是阿里云容器服务团队推出的一款面向Serverless场景的子产品,基于K8s界面提供符合容器规范的CPU及GPU算力资源。ACS采用Serverless形态,用户无需关注底层节点及集群运维,按需申请使用,秒级按量付费。该服务旨在打造更普惠易用、更柔性、更弹性的新一代容器算力,简化企业上云门槛,加速业务创新。ACS支持多种业务场景,提供通用型、性能型及BestEffort算力质量,帮助客户更从容应对流量变化,降低综合成本。
|
6天前
|
算法 数据处理 Python
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
Savitzky-Golay滤波器是一种基于局部多项式回归的数字滤波器,广泛应用于信号处理领域。它通过线性最小二乘法拟合低阶多项式到滑动窗口中的数据点,在降噪的同时保持信号的关键特征,如峰值和谷值。本文介绍了该滤波器的原理、实现及应用,展示了其在Python中的具体实现,并分析了不同参数对滤波效果的影响。适合需要保持信号特征的应用场景。
50 11
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
|
4天前
|
人工智能 运维 Kubernetes
阿里云容器服务AI助手2.0 - 新一代容器智能运维能力
2024年11月,阿里云容器服务团队进一步深度融合现有运维可观测体系,在场景上覆盖了K8s用户的全生命周期,正式推出升级版AI助手2.0,旨在更好地为用户使用和运维K8S保驾护航。
|
5天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
23天前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
9天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
1天前
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
23天前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
23天前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
23天前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
阿里云容器服务ACK提供强大的产品能力,支持弹性、调度、可观测、成本治理和安全合规。针对拥有IDC或三方资源的企业,ACK One分布式云容器平台能够有效解决资源管理、多云多集群管理及边缘计算等挑战,实现云上云下统一管理,提升业务效率与稳定性。

热门文章

最新文章

相关产品

  • 容器计算服务