【K8S】整体原理-什么是K8S K8S能做什么

什么是K8S

K8S(kubernetes)简称K8s,是基于容器实现的资源自动化管理平台,分布式系统支撑平台,Google开源的容器集群管理系统。

K8S能干什么

可以为容器化的应用提供部署运行,资源调度,服务发现,动态伸缩等功能

为什么要用K8S

能够节约约30%的开发成本,降低系统后期的运维难度和运维成本,人员精力会更集中到业务本身

在这里插入图片描述

​ 管理员创建Deployment资源,通过kubectl向k8s集群发送一个请求,这个请求会发送到Api-server这个地方,会把相关数据存储到ETCD里(ETCD是分布式存储,将k8s所有管理的对象进行数据的存储)。比如Deployment想要控制他所关联的Pod副本数量时,就会需要一个控制数量的控制器来完成(即上图的Controller部分),这个控制器可以监控Pod中的数量(他也是通过Api-Server来得到集群中Pod的数量),那么如何选择适合的Pod所在的那一台机器(Node)的呢,这时候Scheduler就是负责去调度的–即它会自动帮我们选择拿一台机器适合运行管理员规定的Pod。

​ Node会有很多台,可以理解为执行器,Node里面兴许会有很多Pod,Pod里面兴许会有很多Container(容器),Node上也会有很多的模块,主要是维护Node的功能保持正常(比如Pod生成,关闭,网络构建,存储相关等),Pod生命周期的生成,销毁都是由Kubelet组件来负责完成。Kubelet在每个Node上都会有,他会保持与Api-Server的通信(接收Pod生成还是销毁的命令)。Kube-proxy是负责Pod网络管理的组件(通过网络规则对流量进行转发处理),举个例子:网络上某个用户的访问流量经过LB(LoadBalance)找到了适合他的Node节点,接下来IPTables或者IPVS会寻找对应的网络规则找到适合服务用户请求流量的Pod。Storage Plugin是存储插件(比如使用NAS,HADOOP),方便Pod去存储的插件。Network Plugin是网络插件,通过插件模式方便Pod使用合适的网络模式。

​ Master可以部署成多副本高可用的模式。

什么是Pod

最简单的说法就是将多个容器打包起来一起运行,这个整体就是 Pod。

pod:是K8S的最小调度单元,pod提供了容器的运行环境,定义了容器执行的模式。

什么是Volume

称为存储持久化是Pod可访问的文件或目录。

支持多种方式(ConfigMap、Secret、Downward、Projected Volume等)

什么是Deployment

用来管理Pod部署的副本的控制器(比如对Pod发布的停止,后续Pod版本的滚动更新和回退)

原理大致:利用ReplicaSet对间接管理Pod

什么是Service

主要提供一个服务,把Pod中的应用变成服务,对外提供服务

什么是Namespace

集群内资源隔离,(比如集群内有很多用户,管理员想不同用户之间不干扰彼此)就考虑用这个机制。

什么是Yaml文件

专门用来写k8s集群配置的文件

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值