Kubernetes(一)概念介绍

时间:2020-08-20 03:51:00 来源:

【摘要】 Kubernetes(一)概念介绍考必过小编为大家整理了关于Kubernetes(一)概念介绍的信息,希望可以帮助到大家!

Kubernetes(一)概念介绍

标签:inf   前端   提升   环境   滚动   标识   png   使用   sources   

1. Kubernetes介绍

Kubernetes这个名字起源于希腊语,意思是舵手,由于k到s之间有8个字符又简称k8s。Google在2014年开源了Kubernetes项目,基于容器技术的分布式管理系统,在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。

1. Kubernetes概述


Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着(比如用户想让apache一直运行,用户不需要关心怎么去做,Kubernetes会自动去监控,然后去重启,新建,总之,让apache一直提供服务),管理员可以加载一个微型服务,让规划器来找到合适的位置,同时,Kubernetes也系统提升工具以及人性化方面,让用户能够方便的部署自己的应用(就像canary deployments)。

现在Kubernetes着重于不间断的服务状态(比如web服务器或者缓存服务器)和原生云平台应用(Nosql),在不久的将来会支持各种生产云平台中的各种服务,例如,分批,工作流,以及传统数据库。

2. 为什么要使用Kubernetes


  1. 轻量:与使用VM虚拟机相比,容器镜像创建的简便性和效率更高。
  2. 敏捷:持续集成和部署,通过快速的升级或回滚,提供可靠且频繁的容器映像构建和部署。
  3. 分离:在构建时创建镜像,不依赖发布环境,将运行环境及基础架构分离。
  4. 一致:开发环境、测试环境、生产环境的运行环境一致性。
  5. 移植:不依赖基础架构,可在不同的平台上快速应用。
  6. 隔离:通过NameSpace实现不同环境中、不同租户的资源隔离。
  7. 解耦:应用程序被分解成较小的独立部分,而不是整体在一台单机上运行。
  8. 伸缩:可将应用基于资源利用率等进行快速的动态伸缩。
  9. 效率:高密度及高效率的资源利用率。

3. Kubernetes理念


其实kubernetes的出现, 我们生活中的一些理念和使用场景都可以用来套用, 比如:

我们生活中使用的书包: 码头使用的集装箱, 我们拿书包举例. 标准的IT男都会有一个包包, 这个包包里面, 可以放你需要的任何东西,电脑, 笔记本, 笔, 钱包, 充电线, 水杯, 身份证, 手机等等一系列的东西, 对于每个人差异化需求可能都会有区别, 但是对于使用者来说, 我们对于包包的使用, 大家可以非常的方便, 便捷的提供我们使用

Kubernetes的出现, 就是让我们不用在去关注复杂的内部容器内部的使用, 不同的差异, 不用的使用者自己去维护就ok了, 但是对于上层的使用者来说, 封装好的Kubernetes确可以给我们更好的提供标准化, 统一化的流程服务, 更好的为容器之上的使用者提供更加完美的支持

2. Kubernetes常用的概念介绍


总结

从K8s的系统架构、技术概念和设计理念,我们可以看到K8s系统最核心的两个设计理念:一个是容错性,一个是易扩展性。容错性实际是保证K8s系统稳定性和安全性的基础,易扩展性是保证K8s对变更友好,可以快速迭代增加新功能的基础。

3. Kubernetes部署架构


首先, 我们观察到, Kubernetes的组件架构图, 分为master和nodes, 以及 cloud三个组成部分

1. master节点

master节点包含kube-controller-manager, kube-apiserver, kube-scheduler, cloud-controller-manager五个组成部分

1. Kube-apiserver

是一个将kubernetes控制平面中的API暴露出来的API服务, 用于接收用户端的操作请求, 这服务是Kubernetes控制平面的前端

它是一个无状态应用, 用户可以运行多个kube-apiserver组件的实例, 用于平衡实例的请求流量

2. kube-scheduler

用于watch监听apiserver的资源变动(增删改查), 并调度至合适的后端node节点, 从而来创建pod资源

3. kube-controller-manager

每个控制器都是独立的二进制进程, 包括: Node Controller, Replication Controller, Endpoints Controller和Service Account 和Token Controllers

4. etcd

高可用. KV架构的Kubernetes的后端数据存储组件

5. Cloud-controlller-manager

是Kubernetes与云厂商提供的服务能力对接的关键组件, 又称为kubernetes cloudprovider

2. Nodes节点

主要包括kubelet, kube-proxy和container runntime三个组件

1. kubelet

运行在集群每个节点的客户端, 需要保证相关容器运行在pod中, 通过podspecs标签, 描述容器的运行状态

2. Kube-proxy

是一个运行在集群每个节点的网络代理组件

3. Containner runtime

支持运行容器底层环境的软件; 支持docker, containerd, cri-o, rktlet等

3. cloud端

1. cloud

作为集群外部的附加能力, 通过与cloud=controller-manager组件对接, 扩展kuberntes集群于云上动态扩展的特性

4. Addons(附加组件)


使用Kubernetes resources增加集群功能, 如DNS, Web UI, Containner Resource Monitoring, Cluster-level Logging等等

5. 工作流程概述

master

通过(API, WebUI, CLI)向APIserver发送请求, kube-scheduler组件监听APIserver的资源变动, 同时从Node节点中选取最合适的Node节点开始调度, 并把调度结果保存至Etcd中.

node

kubelet也会监听APIserver的资源变动, 并在符合的Node通过kubelet调用相关的coker引擎进行后续打包和构建

Kubernetes(一)概念介绍

标签:inf   前端   提升   环境   滚动   标识   png   使用   sources   

以上就是Kubernetes(一)概念介绍的内容,更多资讯请及时关注考必过网站,最新消息小编会第一时间发布,大家考试加油!

上一篇      下一篇
前端相关推荐 更多>>
前端热点专题 更多>>
热点问答
国家公务员考试年龄限制是多少 公务员国考和省考考试内容有什么区别 函授大专学历能不能考公务员 国家公务员考试考点能自己选择吗 新闻学专业能报考2022年公务员考试吗 什么是联合培养研究生 什么是破格录取研究生 什么人不适合读研 研究生报名户口所在地填什么 研究生结业和毕业有什么区别
网站首页 网站地图 返回顶部
考必过移动版 https://m.kaobiguo.net