更新时间:2023-12-07 GMT+08:00
创建容器工作负载
在本章节中,您将会把应用部署到CCE中。首次使用CCE时,您需要创建一个初始集群,并添加一个节点。
应用镜像上传到容器镜像服务后,部署容器应用的方式都是基本类似的。不同点在于是否需要设置环境变量,是否需要使用云存储,这些也是和业务直接相关。
使用云服务
- 云容器引擎CCE:提供高可靠高性能的企业级容器应用管理服务,支持Kubernetes社区原生应用和工具,简化云上自动化容器运行环境搭建。
- 弹性云服务器ECS:一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。
- 虚拟私有云VPC:是用户在云上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。
基本概念
- 集群:集群是计算资源的集合,包含一组节点资源,容器运行在节点上。在创建容器应用前,您需要存在一个可用集群。
- 节点:节点是指接入到平台的计算资源,包括虚拟机、物理机等。用户需确保节点资源充足,若节点资源不足,会导致创建应用等操作失败。
- 容器工作负载:容器工作负载指运行在CCE上的一组实例。CCE提供第三方应用托管功能,提供从部署到运维全生命周期管理。本节指导用户通过容器镜像创建您的第一个容器工作负载。
操作步骤
- 创建集群前,您需要设置好如表1中的环境。
- 创建集群和节点。
- 部署工作负载到CCE。
- 登录CCE控制台,进入集群,在左侧导航栏选择“工作负载”,单击右上角的“创建负载”。
- 输入以下参数,其它保持默认。
- 工作负载名称:apptest。
- 实例数量:1。
- 在“容器配置”中选择制作并上传镜像中上传的镜像。
- 在“容器配置”中选择“环境变量”,添加环境变量,用于对接MySQL数据库。此处的环境变量由开机运行脚本中设置。
本例对接了MySQL数据库,用环境变量的方式来对接。请根据您业务的实际情况,来决定是否需要使用环境变量。
表2 配置环境变量 变量名称
变量/变量引用
MYSQL_DB
数据库名称。
MYSQL_URL
数据库部署的“IP:端口”。
MYSQL_USER
数据库用户名。
MYSQL_PASSWORD
数据库密码。
- 在“容器配置”中选择“数据存储”,为实现数据的持久化存储,需要设置为云存储。
本例使用了MongoDB数据库,并需要数据持久化存储,所以需要配置云存储。请根据您业务的实际情况,来决定是否需要使用云存储。
此处挂载的路径,需要和docker开机运行脚本中的mongoDB存储路径相同,请参见开机运行脚本,本例中为/usr/local/mongodb/data。
- 在“服务配置”中单击添加服务,设置工作负载访问参数,设置完成后,单击“确定”。
本例中,将应用设置为“通过弹性公网IP的方式”被外部互联网访问。
- Service名称:输入应用发布的可被外部访问的名称,设置为:apptest。
- 访问类型:选择“节点访问 ( NodePort )”。
- 服务亲和:
- 集群级别:集群下所有节点的IP+访问端口均可以访问到此服务关联的负载,服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。
- 节点级别:只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载,服务访问没有因路由跳转导致的性能损失,且可以获取到客户端源IP。
- 端口配置:
- 协议:TCP。
- 服务端口:访问Service的端口。
- 容器端口:容器中应用启动监听的端口,该应用镜像请设置为:8080。
- 节点端口:选择“自动生成”,系统会自动在当前集群下的所有节点上打开一个真实的端口号,映射到服务端口。
- 单击“创建工作负载”。
工作负载创建完成后,在工作负载列表中可查看到运行中的工作负载。
验证工作负载
工作负载创建完成后,可以通过访问工作负载验证部署是否成功。
在上面的部署中选择节点访问方式(NodePort),使用节点的“IP:端口”访问工作负载,如果能正常访问,则说明工作负载部署成功。
访问地址可以在工作负载详情页的访问方式页签下获取。
父主题: 实施步骤