前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >人生苦短,我用k8s--------------k8s的前世今生

人生苦短,我用k8s--------------k8s的前世今生

作者头像
不吃小白菜
发布2020-10-09 15:10:52
1.3K0
发布2020-10-09 15:10:52
举报
文章被收录于专栏:用户7721898的专栏
在这里插入图片描述
在这里插入图片描述

Kubernetes是什么意思?为什么又称作K8S?

Kubernetes的名字来自希腊语,意思是“舵手” 或 “领航员”。K8s是将8个字母“ubernete”替换为“8”的缩写。

文章目录

  • 一:K8S诞生史
    • 1、公有云类型说明:IAAS,PAAS,SAAS
    • 2、资源管理器的诞生
      • (1)MESOS
      • (2) Docker Swarm
      • (3)Kubernetes
    • 3、K8S优势
  • 二、K8S架构分析
    • 1、K8S前身Borg系统架构介绍
    • 2、kubernetes的系统架构
    • 3、组件介绍

Kubernetes是什么意思?为什么又称作K8S?

Kubernetes的名字来自希腊语,意思是“舵手” 或 “领航员”*。*K8s是将8个字母“ubernete”替换为“8”的缩写。

一:K8S诞生史

通过发展史来了解K8S的诞生

1、公有云类型说明:IAAS,PAAS,SAAS

在云计算的概念中,我们可以把公有云分为三个层面,IAAS(基础设施即服务),PAAS(平台即服务),SAAS(软件即服务).

  • IAAS:基础设施即服务。 Infrastructure-as-a-Service(IAAS),国内做的最好的就是阿里云。
  • Platform-as-a-Service(PAAS),某些时候也叫做中间件, PAAS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。 一些大的PAAS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard等 国内做的最好的就是新浪云
  • SAAS:软件即服务。 Software-as-a-Service(SAAS),列举一些例子:如Google Apps、Dropbox、Salesforce、Cisco WebEx、Concur和GoToMeeting等 做的比较好的是Microsoft Office 365

2、资源管理器的诞生

有了以上这些公有云之后,我们需要对其进行资源管理,那么此时就诞生了资源管理器:MESOS–Docker Swarm–Kubernetes

(1)MESOS

MESOS:Mesos是Apache旗下的开源分布式资源管理框架,它被称为是分布式系统的内核,后来在twitter得到广泛使用。

在这里插入图片描述
在这里插入图片描述

Twitter也是mesos的最大客户,但是大概在2019年5月份,Twitter 宣布不再使用MESOS,而改用 Kubernetes,至此,Mesos已经是慢慢的被淘汰了

(2) Docker Swarm

Docker Swarm,是一个非常轻量的群集管理工具,只有几十MB大小

Swarm 是 Docker官方提供的一款集群管理工具,其主要作用是把若干台 Docker 主机抽象为一个整体,并且通过一个入口统一管理这些 Docker 主机上的各种 Docker 资源。

但是Swarm 和 Kubernetes 比较类似,因为更加轻,所以具有的功能也较 kubernetes 更少一些。

大概在2019年7月份,阿里云宣布将Docker Swarm 从选择列表中剔除,这也意味着在不就得将来,Docker Swarm 也会像Mesos一样慢慢被淘汰掉

在这里插入图片描述
在这里插入图片描述

(3)Kubernetes

Kubernetes,作为压轴的选手,其成为主流已是必然

Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能 Kubernetes是Google 2014年创建管理的,是Google 10多年大规模容器管理技术Borg的开源版本 Kubernetes的名字来自希腊语,意思是“舵手” 或 “领航员”,所以他的图标是这样的

在这里插入图片描述
在这里插入图片描述

3、K8S优势

轻量级:消耗资源小,开源,弹性伸缩,负载均衡:IPVS

可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)

可扩展: 模块化, 插件化, 可挂载, 可组合

自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

二、K8S架构分析

1、K8S前身Borg系统架构介绍

K8S非常类似于Borg系统,理解Borg系统架构有助于我们理解K8S架构

在这里插入图片描述
在这里插入图片描述

BorgMaster是整个系统的首脑,所有外部请求都要由BorgMaster接收并分配给旗下的Borglet进行处理。并且BorgMaster实现了高可用,一般会有奇数个BorgMaster的节点副本。

在这里插入图片描述
在这里插入图片描述

Borglet则是处理所分配下来任务的最小的节点单元。

在这里插入图片描述
在这里插入图片描述

scheduler是一个调度器,BorgMaster是通过scheduler将任务发送给Paxos键值对数据库中。而Borglet中在Paxos中进行监听,一旦监听到派发的任务就会从数据库中接收进行处理。

外部可以通过web网页、命令、一些配置文件对Borg系统进行访问。

在这里插入图片描述
在这里插入图片描述

2、kubernetes的系统架构

K8s 集群属于主从分布式架构,主要由分布式存储(etcd)、服务节点(Worker Node)和控制节点(Master Node)和一些其他核心组件构成 同刚介绍的Brog系统一样,有控制节点和工作节点。 控制节点: Master Node:作为控制节点,对集群进行调度管理;Master Node由API Server、Scheduler、Cluster State Store和Controller-Manger Server所组成; 工作节点: Worker Node:作为真正的工作节点,运行业务应用的容器;Worker Node包含kubelet、kube proxy和Container Runtime等;

在这里插入图片描述
在这里插入图片描述

3、组件介绍

etcd:键值对数据库 储存K8S集群所有重要信息(持久化),保存了整个集群的状态

Master Node控制节点:

apiserver:是master控制节点中最重要的,所有的请求、访问等通信的入口内容都需要交给api server,也提供了认证,授权,访问控制,API注册和发现等机制 Scheduler:负责介绍任务,选择合适的节点进行分配任务,即:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上; Crontroller Manager:维持副本期望数目,负责维护集群的状态,比如故障检测、自动扩展、滚动更新等; Worker Node工作节点:

Kubelet(节点上的pod管家):直接跟容器引擎交互实现容器的生命周期管理,同时也负责Volume(CVI)和网络(CNI)的管理;负责Node节点上pod的创建、修改、监控、删除等全生命周期的管理 Kube-proxy:负责写入规则至 IPTABLES、IPVS 实现服务映射访问,负责为Service提供cluster内部的服务发现和负载均衡; Container runtime:负责镜像管理以及Pod和容器的真正运行(CRI); 其他组件:

CoreDNS:可以为集群中的SVC创建一个域名IP的对应关系解析 Dashboard:给 K8S 集群提供一个 B/S 结构访问体系,提供GUI; Ingress Controller:为服务提供外网入口;官方只能实现四层代理,INGRESS 可以实现七层代理 Federation:提供跨可用区的集群;提供一个可以跨集群中心多K8S统一管理功能 PROMETHEUS:普罗米修斯,提供K8S集群的监控能力 ELK:提供 K8S 集群日志统一分析介入平台

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/09/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一:K8S诞生史
    • 1、公有云类型说明:IAAS,PAAS,SAAS
      • 2、资源管理器的诞生
        • (1)MESOS
        • (2) Docker Swarm
        • (3)Kubernetes
      • 3、K8S优势
      • 二、K8S架构分析
        • 1、K8S前身Borg系统架构介绍
          • 2、kubernetes的系统架构
            • 3、组件介绍
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档