【生产环境K8S从搭建到运维的实录(一)】可以作为生产环境的K8S系统构成

【生产环境K8S从搭建到运维的实录(一)】可以作为生产环境的K8S系统构成

1.前言

一次生产环境的从Kubernetes环境的搭建到运维的经历,期间遇到很多问题、知识点、注意点,通过一个连载的方式尽可能把所有的东西都总结出来,分享给需要的人。希望能够帮助到更多的人,也希望跟大家一起探讨进步。

实际生产环境的所有机器都是在公司自己的私有云平台上搭建的虚拟机,只是为了更快的画出更漂亮的图,我们使用了一些AWS图例。请不要在意是再什么平台上搭建,我们想传达的只是设计思想。

所有文章都是我们原创,我们小组的名字是:rm *小组

2.系统全体俯视图

下面直接看整个系统的结构,为了能够配合文章的说明,构成图并不是跟实际的生产环境一模一样,只是为了能达到说明效果,我们重新制作的构成图,只是画了这回连载说明必要的部分。

在这里插入图片描述

接下来会逐一拆分整个系统的每一部分,然后进行总结说明。首先从整体说明一下这个系统的构成,图中是按照功能把整个系统划分成6个子系统,这样做只是为了有助于我们今后拆分讲解,并不代表生产环境中就是这样划分的,在实际生产环境中可能是使用网络区域的划分方式。下面从左到右,从上到下简单介绍一下这6个子系统

  1. K8S Control System
  2. Kubernetes Cluster
  3. Monitoring System
  4. Operation and Maintenance System
  5. Log System
  6. Job System

3.各子系统的概要介绍

·K8S Control System介绍

在Kubernetes生产环境中,完全靠手工作业来搭建,配置,发布,升级,运维是一件困难的事情。我们需要一个工具来帮助我们更快正准确的完成这些工作,实现持续集成、持续交付、持续部署,另一方面Kubernetes本身的功能也是有限的,在实际的生产环境中需要一些其他工具来弥补Kubernetes的弱点和不足,现在主流的Kubernetes管理平台服务(PaaS)有Red Hat OpenShift、Pivotal Container Service(PKS)。另外这些工具都是需要付费的,而且价格并不便宜,不过既然是收费的当然就有他收费的道理,将来我们有机会详细说一下这些工具。

·Kubernetes Cluster System介绍

这个就不用多介绍了,这是我们的主角,我们所有的子系统都是在为它服务的。Docker容器出现后,轻巧,便携,跨平台等等优点吸引了很多人,但在实际并不能单纯的直接使用Docker容器作为我们的生产环境提供服务,Kubernetes的出现解决了这个问题,可以让我们方便的在生产环境中优雅的使用Docker容器技术。

·Monitoring System介绍

监控系统是任何一个生产环境中必不可少的部分,一个系统能够健康持续的提供服务,必须有一套强大的系统监控、故障发现、故障通知、预兆分析等功能的监控系统来支持。幸运的是这么重要的系统,居然有很多开源工具供我们选择,比如Promenade、zabixx。Promenade似乎更适合云环境和Kubernetes的监控。不管是哪个工具除了最基本的监控报警功能以外,通过扩张插件功能,还可以轻松的实现大屏仪表板(Dashboard)、邮件通知,SNS消息通知等功能。

·Operation and Maintenance System介绍

这个子系统作为其他子系统的接入口,一方面是为了运维人员和开发人员提供系统接入服务,另一方面是为了隔离我们的生产环境,避免外部可以直接触摸到生产环境,让生产环境更为安全。通过这个子系统无论是运维人员的运维管理,还是开发人员的编译发布都可以在不触碰到环境的情况下完成工作。再通过一些自动化工具可以更高效的完成这些工作,常用的自动话工具有很多,Ansible、Puppet、Saltstack、Chef等等,最近Ansible更为活跃。

·Log System介绍

日志系统,这个近年来由于大数据技术的出现而频繁出现在各个地方,一个系统的日志已经不仅仅是调查bug使用,它可以给一个公司带来很大的商业价值,作为一个好的日志系统,不只是要收集各种各样的日志信息,还要对这些日志信息进行分析,从中找出有价值的东西,比如系统是否有故障前兆、用户行为、商业趋势等等,都隐藏在日志信息中,充分的挖掘出这些信息,离不开日志系统的强大功能,大数据技术的火热,出现了一大批开源日志采集,分析,计算的工具。今后我们在详细说明日志系统的时候在介绍一下常用的产品。

·Job System介绍

批处理调度系统也是一个非常有用的系统,在一个复杂庞大的业务系统里,一定会有这样的需求:定时定点有序的执行一些批处理,而且这些批处理是有前后关系,也就是前面的处理结果会影响到后边其他处理的走向和决定是否执行,如果只是一两个处理的话,我们使用CronTab或taskscheduler这样的系统自带工具就可以了,但是如果是几十个上百个处理,而且相互之间制约,时间限制等等一系列的执行条件的话,靠CronTab或Taskscheduler就很难管理了,这时就需要一个可视化的管理工具来方便的设计管理这些批处理了,今后在说明批处理调度系统的时候,会给大家介绍一下产品。

本章内容只是介绍了一下K8S生产环境整体概貌,接下来我们会拆分整理细各个部分,陆续发布出来分享给大家,敬请期待!

4.下回更新内容概要

【生产环境K8S从搭建到运维的实录(二)】K8S Control System的详细说明

作者:rm * 小组

日期:2020/9/3

猜你喜欢

转载自blog.csdn.net/ashdfoiuasdhfoief/article/details/108418897