正在生成
详细信息:
检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
编写Dockerfile文件 镜像是容器的基础,容器基于镜像定义的内容来运行。镜像是多层存储,每一层是前一层基础上进行的修改。 定制镜像时,一般使用Dockerfile来完成。Dockerfile是一个文本文件,其内包含了一条条的指令,每一条指令构建镜像的其中一层,因此每一条指令的内容
配置管理-容器引擎配置 单容器可用数据空间 单容器可用数据空间 参数名 取值范围 默认值 是否允许修改 作用范围 devmapper-base-size 大于等于0 0 支持初始化时配置,不支持后续修改 CCE Standard/CCE Turbo 当前仅devicemapper场景支持限制
当CCE组件轮询到节点时会自动忽略初始化condition,移除初始化污点。
当CCE组件轮询到节点时会自动忽略初始化condition,移除初始化污点。
253以内,且不能以中划线(-)结尾,命名空间下名称不能重复 无 密钥创建后名称不允许修改 - 密钥资源名称,为资源主键,指定后不支持修改 命名空间 密钥所属命名空间 参数名 取值范围 默认值 是否允许修改 作用范围 namespace 集群中存在的命名空间 default 支持初始化时配置
实施步骤 整体应用容器化改造 改造流程 分析应用 准备应用运行环境 编写开机运行脚本 编写Dockerfile文件 制作并上传镜像 创建容器工作负载 父主题: 企业管理应用容器化改造(ERP)
登录并初始化Jenkins 在CCE控制台,单击左侧栏目树中的“服务”,在“服务”页签下查看jenkins的访问方式。 图6 访问8080端口对应的访问方式 在浏览器中输入负载均衡的“EIP:8080”,即可打开jenkins配置页面。
场景分类 相关最佳实践 创建工作负载相关实践 合理分配容器计算资源 在CCE中实现应用高可用部署 升级实例过程中实现业务不中断 通过特权容器功能优化内核参数 使用Init容器初始化应用 CCE中使用x86和ARM双架构镜像 使用SWR触发器自动更新工作负载版本 插件高可用部署 应用容器化改造
初始化容器(可选) 选择容器是否作为初始化(Init)容器。初始化(Init)容器不支持设置健康检查。 Init容器是一种特殊容器,可以在Pod中的其他应用容器启动之前运行。
且不能以中划线(-)结尾,同一命名空间下名称不能重复 无 配置项创建后名称不允许修改 - 配置项资源名称,为资源主键,指定后不支持修改 命名空间 配置项所属命名空间 参数名 取值范围 默认值 是否允许修改 作用范围 namespace 集群中存在的命名空间 default 支持初始化时配置
初始化容器(可选) 选择容器是否作为初始化(Init)容器。初始化(Init)容器不支持设置健康检查。 Init容器是一种特殊容器,可以在Pod中的其他应用容器启动之前运行。
分析应用 应用在容器化改造前,您需要了解自身应用的运行环境、依赖包等,并且熟悉应用的部署形态。需要了解的内容如表1。 表1 了解应用环境 类别 子类 说明 运行环境 操作系统 应用需要运行在什么操作系统上,比如centos或者Ubuntu。 本例中,应用需要运行在centos:7.1
受GPU虚拟化技术的限制,容器内应用程序初始化时,通过nvidia-smi监测工具监测到的实时算力可能超过容器可用的算力上限。 创建GPU虚拟化应用 通过控制台创建 登录CCE控制台。 单击集群名称进入集群,在左侧选择“工作负载”,在右上角单击“创建工作负载”。
基础配置 集群ID 集群ID为集群唯一标识,集群创建后自动生成,无需用户主动指定 参数名 取值范围 默认值 是否允许修改 作用范围 uid uuid格式,36位长度,由小写字母、数字、中划线(-)组成 无 支持初始化时配置,不支持后续修改 CCE Standard/CCE Turbo
资源与成本规划 本文提供的成本预估费用仅供参考,资源的实际费用以华为云管理控制台显示为准。 完成本实践所需的资源如下: 表1 资源和成本规划 资源 资源说明 数量 费用(元) 弹性云服务器 ECS ECS虚拟机规格:4核8G或以上规格,Ubuntu 22.04操作系统。 绑定弹性IP
初始化容器(可选) 选择容器是否作为初始化(Init)容器。初始化(Init)容器不支持设置健康检查。 Init容器是一种特殊容器,可以在Pod中的其他应用容器启动之前运行。
是否允许修改 作用范围 annotations["kubernetes.io/egress-bandwidth"] 1M-4.29G 无 允许 - Pod的出口带宽限制 容器运行时 参数名 取值范围 默认值 是否允许修改 作用范围 runtimeClassName 无 无 允许 - 初始化容器
图2 选择登录的容器与命令 页面会自动跳转到CloudShell,并初始化启动kubectl,然后自动执行kubectl exec命令登录到容器。 请等待kubectl exec 命令自动执行后再操作,此命令出现需要一段时间 5-10秒。
CCE节点在初始化完成之前,会打上初始化未完成污点(node.cloudprovider.kubernetes.io/uninitialized)防止pod调度到节点上。
当CCE组件轮询到节点时会自动忽略初始化condition,移除初始化污点。