一文读懂什么是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 ...
随机推荐
- springboot中的parent依赖作用详解
最近在阅读springboot+vue全栈开发实战,松哥编写的,虽然比较简单,各种技术没有深入讲解,但是还是可以看看的,特别是我这个前端菜鸟哈哈,以后可是要学习全栈的,把书中看到的不会的地方会记录下笔 ...
- PHP基础之与MySQL那些事
前言 这篇文章会对PHP的MySQL扩展库,MySQLI的扩展库,SQL批量执行,事务控制等等进行一些简单的讲解. MySQL扩展 PHP中MySQL扩展,虽然因为安全的原因,在PHP5.6及往上不在 ...
- 入坑wsl
用了一个月的mac os, 又回归windows了, mac确实好看, 终端配合iterm2也很舒服, 奈何终究我们不合适...生态毕竟没有windows那么丰富; 切回windows最无法忍受的就是 ...
- DICOM医学文件的解析
最近导师一直让做智慧医疗的一个项目,这里面涉及到DICOM格式的文件处理,在这里分享一下自己学到的关于DCM文件的一些内容. DICOM DICOM(DigitalImaging andCommuni ...
- Snapshots常用命令
HBase Snapshots允许你对一个表进行快照(即可用副本),它不会对Region Servers产生很大的影响,它进行复制和 恢复操作的时候不包括数据拷贝.导出快照到另外的集群也不会对Regi ...
- Codeforces Round #635 (Div. 2)
Contest Info Practice Link Solved A B C D E F 4/6 O O Ø Ø O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Sol ...
- 1154 Vertex Coloring
题目前半略 Sample Input: 10 11 8 7 6 8 4 5 8 4 8 1 1 2 1 4 9 8 9 1 1 0 2 4 4 0 1 0 1 4 1 0 1 3 0 0 1 0 1 ...
- AtCoder Beginner Contest 177
比赛链接:https://atcoder.jp/contests/abc177/tasks A - Don't be late #include <bits/stdc++.h> using ...
- GPTL L3-003 社交集群(并查集)
数据有些弱,Union函数不判不等也可以过. 题意: 依次给出 n 个人的兴趣,不同人兴趣相交.不同兴趣所属人员相交均属于同一集群,求形成的不相交集群个数及每个集群的人数. 思路: 枚举每个兴趣的人员 ...
- 【noi 2.6_9268】酒鬼(DP)
题意:有N瓶酒,不能连续喝>=3瓶的酒,问能喝的最大的酒量. 解法:同前一题相似,可以f[i][j]表示前i瓶中连续喝了j瓶的最大酒量.1.f[i][0]=f[i-1][3] ; 2.i=1或2 ...