前言
我们曾经在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.aliyun