一文读懂什么是kubernetes?
kubernetes概述
kubernetes面世不过短短几年时间,kuberenetes已经成为容器编排领域事实上的标准,无论是公有云,私有云或混合云,kubernetes都将作为一个为任何应用,任何环境提供容器管理框架无处不在。
简述什么是kubernetes?
kubernetes(来自希腊语,意为什“舵手”或“飞行员”)由Joe Beda,Brendan Burns和Craig McLuckie创立,而后Google的其他几位工程师等共同研发,并由google在2014年首次对外宣布,kubernetes的开发和涉及深受Google内部系统Borg的影响,事实上,它的许多顶级贡献者之前也是Borg系统的开发者。
Borg是Google内部使用的大规模集群管理系统,它构建于容器技术之上,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用最大化,2015年4月,borg论文伴随kubernetes宣传被Google首次公开。
事实,正是容器世家Google,并站在borg巨人的肩膀上,充分受益 于Borg过去数十年积累的经验和教训,kubernetes一面世受到关注和青睐,并迅速称霸容器编排技术领域,很多人将kubernetes视为borg系统的一个开源实现版本,在Google内部,kubernetes的原始代号曾经是serven of Nine即星际迷航中友好的Borg角色,它标识中的舵轮有7个轮辐就是对该项目代号的致意。
kubernetesv1.0在2015年7月21发布,紧随其后,Google与linux基金会合作组建了Cloud Native Computing Foundation (云原生计算基金会简称CNCF)并将kubernetes作为核心技术对其提供。在此以后,kubereetes进入了版本快速迭代时期,,从此不断融入了新功能,如Federation,Network Policy API,RBAC,CRD和CSI,等等,增加了对windows系统的支持。
kubernetes特点:
kuberentes是一种由于在一组主机上运行和协通容器化应用程序的系统,旨在提供可预测可扩展性与高可用的方法来管理容器化应用程序和服务的生命周期的平台,用户可以定义应用程序的运行方式,以及与其他应用程序或外部世界交互的途径,并能实现服务的扩容和伸缩,执行平滑滚动更新,以及在不同版本的应用程序之间调度流量以及测试功能或者回滚有问题的部署,kuberentes提供了接口和可组合的平台。使得用户能够以高度的灵活性和可靠性定义以及管理应用程序。
有以下特点:
1.自动装箱
2.自我修复(自愈)
3.水平扩展
4.服务发现和负载均衡
5.自动发布和回滚
6.密钥和配置管理
7.存储编排
8.批量处理执行
kubernetes集群的核心组件
一个典型的kubernetes集群由多个工作节点和一个集群控制平面即Master来组成。
Master组件:kubernetes的集群控制平面由多个组件组成。这些组件统一运行单一的master节点,也可以以多副本的方式同时运行在多个节点,以为master提供高可用功能,甚至可以运行在kubernetes集群之上,master主要包含以下几个组件。
kube-apiserver:Kubernetes API server 为 api 对象验证并配置数据,包括 pods、 services、
replicationcontrollers 和其它 api 对象,API Server 提供 REST 操作和到集群共享状态的前端,
所有其他组件通过它进行交互。 kube-controller-manager:Controller Manager 作为集群内部的管理控制中心,负责集群内的
Node、Pod 副本、服务端点(Endpoint)、命名空间(Namespace)、服务账号(ServiceAccount)、
资源定额(ResourceQuota)的管理,当某个 Node 意外宕机时,Controller Manager 会及时发
现并执行自动化修复流程,确保集群始终处于预期的工作状态。 kube-scheduler: 是一个拥有丰富策略、能够感知拓扑变化、支持特定负载的功能组件,它对
集群的可用性、性能表现以及容量都影响巨大。scheduler 需要考虑独立的和集体的资源需
求、服务质量需求、硬件/软件/策略限制、亲和与反亲和规范、数据位置、内部负载接口、
截止时间等等。如有必要,特定的负载需求可以通过 API 暴露出来。 etcd etcd key-value,只有master可以访问
etcd是CoreOS公司开发目前是kubernetes默认使用的key-value数据存储系统,用于保存所有集群数据,支持分布式集群功能,生产环境使用需要为etcd数据提供定期备份机制。 Node节点: kube-proxy::Kubernetes 网络代理运行在 node 上,它反映了 node 上 Kubernetes API 中定
义的服务,并可以通过一组后端进行简单的 TCP、UDP 流转发或循环模式(round robin))
的 TCP、UDP 转发,用户必须使用 apiserver API 创建一个服务来配置代理,其实就是 kubeproxy 通过在主机上维护网络规则并执行连接转发来实现 Kubernetes 服务访问。 kubelet:是主要的节点代理,它会监视已分配给节点的pod功能如下:
向master汇报node节点的状态信息
接受指令并在pod中创建docker容器
准备pod所需要的数据卷
返回pod的运行状态
在node节点执行容器健康检查 容器运行时环境
每个 容器都要提供一个容器运行时环境,它复制下载镜像并运行容器,kubelet并未固定链接至容器运行时的环境,而是以插件的方式载入配置的容器环境。
一文读懂什么是kubernetes?的更多相关文章
- 一文读懂 TKE 及 Kubernetes 访问权限控制
你有了解过Kubernetes的认证授权链路吗?是否对TKE的权限控制CAM策略.服务角色傻傻分不清楚?本文将会向你介绍腾讯云TKE平台侧的访问控制.Kubernetes访问控制链路,以及演示如何将平 ...
- kubernetes基础——一文读懂k8s
容器 容器与虚拟机对比图(左边为容器.右边为虚拟机) 容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术.CGroup(Co ...
- 一文读懂HTTP/2及HTTP/3特性
摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何 ...
- 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现
一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...
- 一文读懂高性能网络编程中的I/O模型
1.前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力.本文(和下篇<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>)旨在为大家提供有用的 ...
- 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路
本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...
- 一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm)
一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm) 2017-12-25 16:29:19 对于 A3C 算法感觉自己总是一知半解,现将其梳理一下,记录在此,也 ...
- [转帖]MerkleDAG全面解析 一文读懂什么是默克尔有向无环图
MerkleDAG全面解析 一文读懂什么是默克尔有向无环图 2018-08-16 15:58区块链/技术 MerkleDAG作为IPFS的核心数据结构,它融合了Merkle Tree和DAG的优点,今 ...
- [转帖]一文读懂 HTTP/2
一文读懂 HTTP/2 http://support.upyun.com/hc/kb/article/1048799/ 又小拍 • 发表于:2017年05月18日 15:34:45 • 更新于:201 ...
随机推荐
- 【uva 11572】Unique Snowflakes(算法效率--滑动窗口,3种实现方法)
题意:求长度为N的序列中,最长的一个无重复元素的连续子序列. 解法:[L,R]每次R++或L++延伸就可以得到答案. 实现:(1)next[],last[]--O(n): 1 #include< ...
- Educational Codeforces Round 95 (Rated for Div. 2) C. Mortal Kombat Tower (DP)
题意:你和基友两人从左往右轮流打怪兽,强怪用\(1\)表示,垃圾用\(0\)表示,但基友比较弱,打不过强怪,碰到强怪需要用一次魔法,而你很强,无论什么怪都能乱杀,基友先打,每人每次至少杀一个怪兽,最多 ...
- C# 静态类 单例模式 对比
公司的类都需要使用单例模式实现,这个可以节省资源,避免重复对象的生成.但是静态类也可以做到这一点,而且写起来更简洁,于是查阅相关资料,希望弄明白两者的差别. 1.单例模式可以在用到的时候初始化,而静态 ...
- 国产网络测试仪MiniSMB - 如何3秒内创建出16,000条IP递增流
国产网络测试仪MiniSMB(www.minismb.com)是复刻smartbits的IP网络性能测试工具,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此以太 ...
- 使用 Typecho 搭建博客
nginx 配置文件 [root@dbtest ~]# cat /etc/nginx/conf.d/www.typecho.com.conf server { listen 80; server_na ...
- 80行Python代码搞定全国区划代码
微信搜索:码农StayUp 主页地址:https://gozhuyinglong.github.io 源码分享:https://github.com/gozhuyinglong/blog-demos ...
- UA 广告 All In One
UA 广告 All In One UA 广告是什么 广告投放 / 市场营销 互联网营销和分析专用名词速览 http://www.chinawebanalytics.cn/digital-marketi ...
- 如何使用 js 实现tooltips 的 hover 时候坐标的自动计算
如何使用 js 实现tooltips 的 hover 时候坐标的自动计算 js 监听 mouseover event https://developer.mozilla.org/zh-CN/docs/ ...
- BB link
1 1 1 BB link: 1 1 demo: code: result: 1 1 1 1 1 1 1
- Fetch & POST
Fetch & POST fetch( `http://10.1.5.202/deploy/http/send/viewtree`, { method: "POST", m ...