检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Ingress支持的Service类型。 约束与限制 该特性仅在使用独享型ELB时支持配置。 该特性依赖ELB高级转发策略,开启后将不再根据域名/路径匹配确定优先级,请您根据实际需要自定义转发策略优先级。关于转发策略优先级详情请参见ELB Ingress转发策略优先级说明。 通过kubectl命令行配置
CCE支持ELB v3的SNI多证书 若需要对外提供多个域名的访问,并且不同域名使用独立的证书,则需要开启SNI(Server Name Indication)功能。开启SNI后,允许客户端在发起SSL握手请求时就提交请求的域名信息。 商用 2020年7月 序号 功能名称 功能描述
工作负载支持自定义应用日志 开放工作负载优雅缩容 问题修复: 修复容器存储AK/SK会过期的问题 v1.7.3-r1 主要特性: kube-dns支持外部域名解析 v1.7.3-r0 主要特性: Kubernetes同步社区1.7.3版本 支持ELB负载均衡 容器存储支持XEN虚拟机挂载 容器存储支持EVS云硬盘存储
工作负载支持自定义应用日志 开放工作负载优雅缩容 问题修复: 修复容器存储AK/SK会过期的问题 v1.7.3-r1 主要特性: kube-dns支持外部域名解析 v1.7.3-r0 主要特性: Kubernetes同步社区1.7.3版本 支持ELB负载均衡 容器存储支持XEN虚拟机挂载 容器存储支持EVS云硬盘存储
分析应用 应用在容器化改造前,您需要了解自身应用的运行环境、依赖包等,并且熟悉应用的部署形态。需要了解的内容如表1。 表1 了解应用环境 类别 子类 说明 运行环境 操作系统 应用需要运行在什么操作系统上,比如centos或者Ubuntu。 本例中,应用需要运行在centos:7
-init-output.log中查看是否有域名解析失败相关的报错。可以执行如下指令: cat /var/log/cloud-init-output.log | grep resolv 如果回显结果包含如下类似内容则说明无法解析该域名。 Could not resolve host:
改造流程 整体应用容器化改造时,需要执行完整的改造流程。 容器化改造流程包括:分析应用、准备应用运行环境、编写开机脚本、编写Dockerfile、制作并上传镜像、创建容器工作负载。 改造流程每一部分的详情可参考改造流程。 图1 容器化改造流程 父主题: 实施步骤
资源与成本规划 本文提供的成本预估费用仅供参考,资源的实际费用与用户所在区域相关,请以华为云管理控制台显示为准。 完成本实践所需的资源如下: 表1 资源和成本规划 资源 资源说明 数量 费用(元) 弹性云服务器ECS 建议选择按需计费。 虚拟机类型:通用计算增强型 节点规格:4核
制作并上传镜像 本章指导用户将整体应用制作成Docker镜像。制作完镜像后,每次应用的部署和升级即可通过镜像操作,减少了人工配置,提升效率。 制作镜像时,要求制作镜像的文件在同个目录下。 使用云服务 容器镜像服务SWR:是一种支持容器镜像全生命周期管理的服务, 提供简单易用、安全
型的取值以及行为如下: 集群内访问(ClusterIP) 集群内访问表示工作负载暴露给同一集群内其他工作负载访问的方式,可以通过“集群内部域名”访问。 节点访问(NodePort) 节点访问 ( NodePort )是指在每个节点的IP上开放一个静态端口,通过静态端口对外暴露服务。节点访问
应用容器化改造方案概述 本手册基于云容器引擎实践所编写,用于指导您已有应用的容器化改造。 什么是容器 容器是操作系统内核自带能力,是基于Linux内核实现的轻量级高性能资源隔离机制。 云容器引擎CCE是基于开源Kubernetes的企业级容器服务,提供高可靠高性能的企业级容器应用
create -f metrics-apiservice.yaml 执行kubectl top pod -n monitoring命令,若显示如下,则表示Metrics API能正常访问: # kubectl top pod -n monitoring NAME
编写Dockerfile文件 镜像是容器的基础,容器基于镜像定义的内容来运行。镜像是多层存储,每一层是前一层基础上进行的修改。 定制镜像时,一般使用Dockerfile来完成。Dockerfile是一个文本文件,其内包含了一条条的指令,每一条指令构建镜像的其中一层,因此每一条指令的内容,就是描述该层应该如何构建。
整体应用容器化改造 本教程以“整体应用容器化改造”为例,指导您将一个“部署在虚拟机上的ERP企业管理系统”进行容器化改造,部署到容器服务中。 您不需要改动任何代码和架构,仅需将整体应用构建为容器镜像,部署到云容器引擎中。 本例应用简介 本例“企业管理应用”由某企业(简称A企业)开
准备应用运行环境 在应用分析后,您已经了解到应用所需的操作系统、运行环境等。您需要准备好这些环境。 安装Docker:应用容器化时,需要将应用构建为容器镜像。您需要准备一台机器,并安装Docker。 获取运行环境:获取运行应用的运行环境,以及对接的MongoDB数据库。 安装Docker
创建容器工作负载 在本章节中,您将会把应用部署到CCE中。首次使用CCE时,您需要创建一个初始集群,并添加一个节点。 应用镜像上传到容器镜像服务后,部署容器应用的方式都是基本类似的。不同点在于是否需要设置环境变量,是否需要使用云存储,这些也是和业务直接相关。 使用云服务 云容器引
CCE集群中的节点无法远程登录,如何排查解决? CCE创建节点成功后,无法ssh远程登录。ssh回显提示“所选的用户密钥未在远程主机上注册”,即root用户不能直接登录到节点。 出现上述问题的原因是CCE创建的节点安装了cloudinit,有默认的linux用户,并且该密钥也是用于linux。
编写开机运行脚本 应用容器化时,一般需要准备开机运行的脚本,写作脚本的方式和写一般shell脚本相同。该脚本的主要目的包括: 启动应用所依赖的软件。 将需要修改的配置设置为环境变量。 开机运行脚本与应用实际需求直接相关,每个应用所写的开机脚本会有所区别。请根据实际业务需求来写该脚本。
Service的详细介绍请参见服务概述。 Ingress Service是基于四层TCP和UDP协议转发的,而Ingress可以基于七层的HTTP和HTTPS协议转发,可以通过域名和路径做到更细粒度的划分,如下图所示。 图2 Ingress-Service Ingress的详细介绍请参见路由概述。 网络访问场景 工作负载网络访问可以分为如下几种场景。
Pod重新调度后Pod名称和HostName不变。 StatefulSet通过Headless Service给每个Pod提供固定的访问域名。 StatefulSet通过创建固定标识的PVC保证Pod重新调度后还是能访问到相同的持久化数据。 图3 StatefulSet 守护进程集(DaemonSet)