检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
编写开机运行脚本 应用容器化时,一般需要准备开机运行的脚本,写作脚本的方式和写一般shell脚本相同。该脚本的主要目的包括: 启动应用所依赖的软件。 将需要修改的配置设置为环境变量。 开机运行脚本与应用实际需求直接相关,每个应用所写的开机脚本会有所区别。请根据实际业务需求来写该脚本。
创建节点时使用OBS桶实现自定义脚本注入 应用现状 对于需要在节点上提前安装一些工具或者做用户自定义的安全加固等操作时,需要在创建节点的时候注入一些脚本。CCE创建节点提供了Kubernetes安装前和安装后两处注入脚本的功能。但是使用通常碰到如下限制: 注入脚本的字符有限。 各种需求、
创建节点时执行安装前/后脚本 应用现状 在创建节点时,对于需要在节点上安装一些工具或者进行安全加固等操作时,可以使用安装前/后脚本实现。本文为您提供正确使用安装前/后脚本的指导,帮助您了解和使用安装前/后脚本。如果有进阶的安装脚本使用需求,可以将脚本存放在OBS中,避免脚本字符数超限等问题
在第三方企业需要使用该应用时,需要在第三方企业内部部署一套“Tomcat应用和MongoDB数据库”,MySQL数据库由A企业提供,用于存储各第三方企业的数据。 图1 应用架构 如图1,该应用是标准的tomcat应用,后端对接了MongoDB和MySQL。这种类型应用可以先不做架构的拆分,将整体应用构建为一个镜像
创建节点时执行安装前/后脚本 应用现状 在创建节点时,对于需要在节点上安装一些工具或者进行安全加固等操作时,可以使用安装前/后脚本实现。本文为您提供正确使用安装前/后脚本的指导,帮助您了解和使用安装前/后脚本。如果有进阶的安装脚本使用需求,可以将脚本存放在OBS中,避免脚本字符数超限等问题
改造流程 整体应用容器化改造时,需要执行完整的改造流程。 容器化改造流程包括:分析应用、准备应用运行环境、编写开机脚本、编写Dockerfile、制作并上传镜像、创建容器工作负载。 改造流程每一部分的详情可参考改造流程。 图1 容器化改造流程 父主题: 实施步骤
于对接MySQL数据库。此处的环境变量由开机运行脚本中设置。 本例对接了MySQL数据库,用环境变量的方式来对接。请根据您业务的实际情况,来决定是否需要使用环境变量。 表2 配置环境变量 变量名称 变量/变量引用 MYSQL_DB 数据库名称。 MYSQL_URL 数据库部署的“IP:端口”。
1:部署MySQL中MYSQL_PASSWORD一致。 WORDPRESS_DB_NAME:访问数据库的名称,此处需要设置为步骤1:部署MySQL中MYSQL_DATABASE一致。 图3 设置环境变量 服务配置 单击服务配置下的加号,创建服务(Service),用于从外部访问负
json或者hcl格式的模板文件,可以灵活组合这三种组件并行地、自动化地创建镜像文件。 Packer作为镜像制作的工具有如下优势: 构建过程自动化:创建镜像的过程变成可以通过Packer配置文件的形式固化,支持自动化构建。 云平台兼容性强:原生支持对接绝大多数的云平台,也包括各类第三方插件。
必须把要执行的程序放在容器的镜像里面,否则会因找不到程序而执行失败。 如果执行的命令是一个shell脚本,由于集群在执行容器里的程序时,不在终端环境下,因此不能直接指定脚本为执行命令,需要加上脚本解析器。比如脚本是/data/scripts/health_check.sh,那么使用执行命令检查时,指定的程序应该是sh
管理程序,MySQL作为数据库存储数据。在容器中运行通常会将WordPress和MySQL分别运行两个容器中,如下图所示。 图1 WordPress 本例涉及到两个容器镜像。 WordPress:本例选取wordpress:php7.3 MySQL:本例选取mysql:5.7 在
local 13s 数据库更新适配 本例中数据库为本地MySQL数据库,迁移后无需重新配置。若您通过数据复制服务DRS将本地数据库迁移至云数据库RDS,则在迁移后需重新配置数据库的访问,请您根据实际情况进行配置。 若云数据库RDS实例与CCE集群处于同一VPC下,则
容器化改造 企业管理应用容器化改造(ERP)
te to CCE”,并发布一篇文章用于验证迁移后PV数据的完整性。Wordpress中发布的文章会被存储在MySQL数据库的“wp_posts”表中,若迁移成功,数据库中的内容也将会被全量搬迁至新集群,可依此进行PV数据迁移校验。 前提条件 请在迁移前提前清理原集群中异常的Po
注意事项 仅v1.19及以上版本的集群支持修改容器引擎、操作系统、系统盘/数据盘大小、数据盘空间分配、安装前/后执行脚本配置。 修改节点池容器引擎、操作系统、安装前/后执行脚本时,修改后的配置仅对新增节点生效,存量节点如需同步配置,需要手动重置存量节点。 修改节点池系统盘/数据盘大小、
等待其它模块Ready:比如有一个应用里面有两个容器化的服务,一个是Web Server,另一个是数据库。其中Web Server需要访问数据库。但是当启动这个应用的时候,并不能保证数据库服务先启动起来,所以可能出现在一段时间内Web Server有数据库连接错误。为了解决这个问题,可以在运行Web Server服务的Pod里使用一个Init
设置工作负载升级策略 在实际应用中,升级是一个常见的场景,Deployment、StatefulSet和DaemonSet都能够很方便地支撑应用升级。 设置不同的升级策略,有如下两种。 RollingUpdate:滚动升级,即逐步创建新Pod再删除旧Pod,为默认策略。 Recr
持久化存储 Volume PV、PVC和StorageClass
应用需要对接哪些外部服务,例如数据库,文件存储等等。 应用部署在虚拟机上时,该类配置需要每次部署时手动配置。容器化部署,可通过环境变量的方式注入到容器中,部署更为方便。 本例需要对接MySQL数据库。您需要获取数据库的配置文件,如下“服务器地址”、“数据库名称”、“数据库登录用户名”和“数据库登录密码”将通过环境变量方式注入。
四个环境变量。关于MySQL支持的环境变量请参见MySQL。 环境变量 取值示例 说明 MYSQL_ROOT_PASSWORD 请您自行设置密码 MySQL的root用户密码,可自定义。 MYSQL_DATABASE database 镜像启动时要创建的数据库名称,可自定义。 MYSQL_USER