鸟瞰云上K8s(一)

计算机软件开发 2024-9-9 23:47:12 53 0 来自 中国
此文为读书条记,非原创。

云原生本质上是一套让用户用好云的技能栈。k8s on cloud是这套技能栈的主框架,k8s on cloud是各个厂商基于本身的云产物和开源k8s软件实现的容器集群产物。
这些容器集群产物,以云服务器为节点,基于专有网络实现集群网络,依靠弹性伸缩等实现节点伸缩等,从而汲取了云的弹性和k8s的自动化运维等属性。
1.1 内容概要

阿里云K8s集群分为四层结构,自下而上分别是云资源层、单机体系层、集群体系层和功能扩展层。
云资源层包罗就请你利用的全部云资源,此层必要用户付费;单机体系层包罗节点的利用体系和容器运行时;集群体系层包罗K8s体系组件以及插件;最上面是功能扩展层,基于下部的三层志愿,并依靠一些特殊功能组件而实现的对集群功能的扩展。
1.png 1.2 云资源层

        云资源层和云上K8s之间的关系,相称于盘算机硬件与利用体系之间的关系。云资源层为K8s提供了有弹性上风的软硬件根本,如云服务器、安全组、专有网络、负载平衡、资源编排等。
1.2.1 专有版

首先是资源管理。专有版集群利用了多种云资源,以资源编排ROS(Resource Orchestration Service)模板为根本,结实用户自界说设置同一管理底层资源。
其次是集群网络,专有版集群创建之初就被指定了专有网络VPC(virtual private cloud)的设置,如节点网段等。VPC实例被创建之后,其他全部集群资源,都必须与这个VPC实例相干联。VPC的安全组在这里饰演集群网络的防火墙脚色。
然后是盘算资源。集群在默认环境下会创建三个云服务器作为管控节点,同时集群会根据用户的需求,创建多少云服务器作为集群的Worker节点,这些Worker节点与弹性伸缩实例绑定,以实现节点伸缩功能。集群节点和访问控制RAM(Resource Access Management)的脚色绑定,以授权集群内部组件访问其他云资源。别的,集群节点可以挂载云盘并以本地存储情势来利用。
末了是接口实现。集群利用NAT网关作为集群默认的网络出口,利用负载平衡SLB(Server Load Balancer)
作为集群的入口,包罗API Server入口,以及图中为包罗的Service的入口。
2.png 托管版和Serverless版本未利用,以是不先容。
1.3 单机体系层

单机体系层重要有利用体系和容器运行时两部分,理论上说两者的组合有许多厘革,如CentOS和Docker,Windows和Docker等。阿里云单机体系层重要支持CentOS和Windows两种利用体系,以及Docker和安全沙箱两种容器运行时。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依靠包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows利用体系的呆板上,也可以实现假造化。容器是完全利用沙箱机制,相互之间不会有任何接口。
相比于原有Docker运行时,安全沙箱为您提供的一种新的容器运行时选项,可以让您的应用运行在一个轻量假造机沙箱环境中,拥有独立的内核,具备更好的安全隔离本事。
安全沙箱特殊得当于不可信应用隔离、故障隔离、性能隔离、多用户间负载隔离等场景。在提拔安全性的同时,对性能影响非常小,而且具备与Docker容器一样的用户体验,例如日志、监控、弹性等。
不支持同一节点同时摆设Docker和安全沙箱两种运行时。
集群内可以通过创建差别节点池来实现Docker运行时节点和安全沙箱运行时节点混合摆设。
1.4 集群体系层

这一层是指K8s及其组件,好比网络组件CNI。存储插件FlexVolume等。
1.4.1 专有版

集群体系层的组件和功能在专有版中重要表如今Master节点和Worker节点上。
在Master节点上,运行着集群中央数据库ETCD,以及集群管控的三大件API Server、Controller Manager 和Scheduler,别的包罗Cloud Controller Manager等定制组件。
在Worker节点上,运行着服务署理Proxy、节点署理Kubelet,以及网络插件和存储插件等自界说组件。
托管版和Serverless版本未利用,以是不先容。
1.5 功能扩展层

功能扩展层是对包罗日子、监控、存储、镜像、路由、负载平衡、伸缩、DNS和包管理在内的的,大量K8s on Cloud集群扩展组件的合成。由于这些丰富的功能扩展层,集群才气不是IaaS+,不绝靠近PaaS。大部分扩展组件都是基于某些云产物,同时接纳自动一控制器的方式实现,好比监控扩展组件,就包罗了云监控和监控控制器等部分。
1.5.1监控


4.png 1.5.2 日志

组件摆设阶段,用户必要给集群安装日志控制器,包罗实现的日志服务的扩展资源界说CRD。
日志设置阶段,日志控制器会读取应用日志相干设置,并通过日志服务的云接口,创建对应的日志文件和设置。
在日志网络阶段,日志网络工具Logtail会从容器文件或者标准输出中获取日志数据,并同步到日志服务。
1.5.3 DNS

您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-19 04:22, Processed in 0.170907 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表