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?的更多相关文章

  1. 一文读懂 TKE 及 Kubernetes 访问权限控制

    你有了解过Kubernetes的认证授权链路吗?是否对TKE的权限控制CAM策略.服务角色傻傻分不清楚?本文将会向你介绍腾讯云TKE平台侧的访问控制.Kubernetes访问控制链路,以及演示如何将平 ...

  2. kubernetes基础——一文读懂k8s

    容器 容器与虚拟机对比图(左边为容器.右边为虚拟机)   容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术.CGroup(Co ...

  3. 一文读懂HTTP/2及HTTP/3特性

    摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何 ...

  4. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现

    一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...

  5. 一文读懂高性能网络编程中的I/O模型

    1.前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力.本文(和下篇<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>)旨在为大家提供有用的 ...

  6. 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...

  7. 一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm)

    一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm) 2017-12-25  16:29:19   对于 A3C 算法感觉自己总是一知半解,现将其梳理一下,记录在此,也 ...

  8. [转帖]MerkleDAG全面解析 一文读懂什么是默克尔有向无环图

    MerkleDAG全面解析 一文读懂什么是默克尔有向无环图 2018-08-16 15:58区块链/技术 MerkleDAG作为IPFS的核心数据结构,它融合了Merkle Tree和DAG的优点,今 ...

  9. [转帖]一文读懂 HTTP/2

    一文读懂 HTTP/2 http://support.upyun.com/hc/kb/article/1048799/ 又小拍 • 发表于:2017年05月18日 15:34:45 • 更新于:201 ...

随机推荐

  1. 数据中心网络技术新贵:VXLAN与园区网络虚拟化

    摘要:为了应对传统数据中心网络对服务器虚拟化技术的限制,VXLAN技术应运而生. 1 概述 传统数据中心网络面临的问题 虚拟机规模受设备表项规格限制 在传统二层网络中,交换机通过查询MAC地址表来转发 ...

  2. Flink-v1.12官方网站翻译-P024-Checkpointing

    检查点 Flink中的每一个函数和操作符都可以是有状态的(详情请看使用状态).有状态的函数在单个元素/事件的处理过程中存储数据,使得状态成为任何类型的更复杂操作的关键构建模块. 为了使状态具有容错性, ...

  3. linux虚拟摄像头vivid配置

    总述    最近在看摄像头驱动,需要配置虚拟摄像头的驱动,但是教程里面是linux2.6内核的,实际电脑的是Ubuntu16,内核是linux4.15版本,从2.6到4.15内核好多文件发生了变化,所 ...

  4. LA3902 Network (树上dfs)

    题目链接:点击打开链接 题意:n台机器连成一个树状网络,其中叶节点是客户端,其他节点是服务器,目前有一台服务器s正在提供服务.让你在其他服务器上也安排同样的服务,使得每台客户端到最近服务器的距离不超过 ...

  5. Codeforces Round #327 (Div. 1) C. Three States

    C. Three States time limit per test 5 seconds memory limit per test 512 megabytes input standard inp ...

  6. HDU 1173 思路题

    题目大意 有n个地点(坐标为实数)需要挖矿,让选择一个地点,使得在这个地方建造基地,到n个地点的距离和最短,输出基地的坐标. 题解+代码: 1 /* 2 把这个二维分开看(即把所有点投影到x轴上,再把 ...

  7. 鸟哥的linux私房菜——第十六章学习(程序管理与 SELinux 初探)

    第十六章.程序管理与 SE Linux 初探 在 Linux 系统当中:"触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的 ...

  8. sizeof和strlen在string类中的使用

    字符串的sizeof和strlen 考虑下面的问题: char a[] = "abcdef"; char b[20] = "abcdef"; string s ...

  9. Java之一个整数的二进制中1的个数

    这是今年某公司的面试题: 一般思路是:把整数n转换成二进制字符数组,然后一个一个数: private static int helper1(int i) { char[] chs = Integer. ...

  10. bzoj4695 最假女选手(势能线段树/吉司机线段树)题解

    题意: 已知\(n\)个数字,进行以下操作: \(1.\)给一个区间\([L,R]\) 加上一个数\(x\) \(2.\)把一个区间\([L,R]\) 里小于\(x\) 的数变成\(x\) \(3.\ ...