文档首页 > > 最佳实践> 容器应用上云CheckList

容器应用上云CheckList

分享
更新时间: 2019/08/16 10:11

简介

容器应用上云CheckList从系统可用性、数据可靠性、运维可靠性三个方面进行梳理,通过评估项目、影响说明、FAQ和样例对各问题予以阐述,以指导您顺利将业务迁移至CCE上,降低因为使用不当导致应用异常或者需要重建CCE集群的风险。

检查项目

表1 系统可用性

类别

评估项目

类型

影响说明

FAQ&样例

集群

使用高可用集群,在创建集群时将“高可用”选择为“是”

可靠性

“高可用”集群的Master节点是单点,单Master节点异常,会导致整个集群不可用,因此建议生产环境创建“高可用”集群。

创建集群前,根据业务场景提前确认好容器网络模型

网络规划

不同的容器网络模型适用不同的场景。

如何选择容器网络模型?

创建集群前,提前规划好所在子网网段与容器网段的容量,避免后续集群扩容节点受限。

网络规划

如果集群所在子网或容器网段较小,将导致集群实际支持可用的节点数少于集群支持的最大容量。不同容器网络模型有不同的规划约束。

创建集群前,提前梳理云专线、对等连接、容器网段、服务网段和子网网段等相关网段的规划,避免出现网段冲突影响业务。

网络规划

简单组网场景按照页面提示配置集群相关网段,避免冲突;业务复杂组网场景,例如对等连接、云专线、VPN等,网络规划不当将影响整体业务正常互访。

集群网络规划涉及哪些网段?

工作负载

应用创建时需要设置CPU和内存的资源上下限

部署

同一个节点上部署的应用,未设置资源上下限的应用如果应用异常资源泄露会导致其它应用分配不到资源而异常;未设置资源上下限的应用,应用监控信息会不准确。

如何设置应用的CPU和内存资源上下限?

应用创建时设置实例数需大于2个,并根据自身业务设置调度策略

可靠性

应用使用单实例,当节点异常或实例异常会导致服务异常。

如何设置应用的实例数?

合理设置“亲和性”“反亲和性”

可靠性

对外提供服务的应用,如果以“或”的关系同时配置“亲和性”“反亲和性”,应用升级或者重启后,会概率出现服务无法访问的问题。

反例:

应用A设置对节点1、节点2亲和性,节点3、节点4反亲和性,应用A通过ELB发布Service,ELB监听节点1和节点2上面。对应用A进行升级,会概率出现应用A被调度到节点1-4之外的节点,无法通过Service访问应用A。

原因:

kubernetes的亲和反亲和调度策略是满足一个就可以调度成功,此时是满足了节点3、节点4反亲和性调度策略。

应用创建时需设置健康检查,设置“工作负载存活探针”“工作负载业务探针”

可靠性

如果没有配置,用户对应发布服务如果出现业务异常,Pod无法感知,也不会自动重启去恢复业务。最终出现Pod状态正常,但是Pod中的业务会异常。

如何设置应用的探针?

设置应用生命周期中的“停止前处理”,确保升级或者实例删除时可以提前将实例中运行的业务排水

可靠性

如果没有配置,用户在应用升级时,Pod会被直接Kill,导致Pod中运行的业务中断。

在什么场景下设置应用生命周期中的“停止前处理?”

创建服务时需要根据访问诉求选择正确的访问方式,当前只支持如下几种:集群内访问、VPC内访问、公网访问。

部署

服务内外部访问逻辑混乱和资源浪费。

表2 数据可靠性

类别

评估项目

类型

影响说明

FAQ&样例

容器数据持久化

应用Pod数据存储,不要放在本地磁盘,使用云存储

可靠性

节点异常无法恢复时,无法恢复存在本地磁盘中的数据。

如何设置应用的存储为云存储?

数据备份

应用数据进行备份

可靠性

数据丢失后,无法恢复。

当前CCE支持弹性文件服务、对象存储服务、云硬盘三种存储,哪种存储需要设置备份?

表3 运维可靠性

类别

评估项目

类型

影响说明

FAQ&样例

工程

ECS、VPC、子网、EIP、EVS等资源配额是否满足客户需求

部署

配额不足会导致创建资源失败,对应配置了自动扩容的用户尤其需要保障所使用的云服务配额充足。

需要关注哪些云服务的配额?

集群的节点不建议用户安装自己的软件,也不建议用户修改操作系统配置

部署

可能会导致安装在节点上的Kubenetes组件异常,节点状态变成不可用,无法部署应用到此节点。

反例:

  1. 用户升级了节点内核,可能会导致容器网络异常;
  2. 用户在节点上安装了开源的kubernetes网络插件,导致容器网络异常;
  3. 用户在节点上将/var/paas,/mnt/paas/kubernetes删除,导致该节点异常。

不要修改CCE创建的安全组、云硬盘等信息。CCE创建的资源标记有“cce”字样

部署

会导致CCE集群功能异常。

反例:

  1. 在弹性负载均衡页面修改CCE创建的监听器名称;
  2. 在虚拟私有云页面修改CCE创建的安全组;
  3. 在云硬盘页面删除或者卸载CCE集群节点挂载的数据盘;
  4. 在统一身份认证页面删除cce的委托“cce_admin_trust”。

以上修改都会导致CCE集群功能异常。

主动运维

部署在CCE集群中的应用,请在AOM侧配置监控告警,以便于异常时及时收到告警

监控

未配置监控告警,应用异常时无法及时收到告警,需要人工巡检环境。

如何配置集群和应用的监控?

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区