摘要:基本架构彩色版基本概念节点运行着集群管理相关的一组进程这些进程实现了整个集群的资源管理调度弹性伸缩安全控制系统监控纠错等管理功能。内置了透明的负载均衡以及故障恢复的机制。标签解决与之间的关联问题。
基本架构
彩色版
基本概念 Mastermaster节点运行着集群管理相关的一组进程:
etcd
kube-apiserver
kube-controller-manager
scheduler
这些进程实现了整个集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控、纠错等管理功能。
Node(节点)之前的版本叫做Minion,可以是一台物理主机,也可以是一台虚拟机。
每个Node上运行用于启动和管理Pod的服务Kubelet
运行Kubelet、kube-proxy、docker daemon等服务进程
相关命令
kubectl get node
NAME LABELS STATUS AGE xxx kubernetes.io/hostname=xxxx Ready 3h 127.0.0.1 kubernetes.io/hostname=127.0.0.1 NotReady 3h
kubectl describe node xxx
Pod(最小调度单元、服务隔离)一个Pod可以被一个容器化的环境看做是应用层的逻辑宿主机(Logical Host),通常一个Node中可以运行几百个Pod,每个Pod中有多个容器应用,同一个Pod中的多个容器应用通常是紧密耦合的(相当于多个业务容器组成的一个逻辑虚拟机)。
每个Pod中有一个特殊的Pause容器,其他的成为业务容器,这些业务容器共享Pause容器的网络栈以及Volume挂载卷,因而他们之间的通信及数据交互更为高效。
同一个pod中的业务容器共享如下资源:
PID命名空间(不同应用程序可以看到其他应用程序的PID)
网络命名空间(pod中多个容器可以访问同一个IP和端口范围)
IPC命名空间(能够使用SystemV IPC或者POSIX消息队列进行通信)
UTS命名空间(共享同一个主机名)
Volumes(访问定义在pod级别的存储卷)
Replication Controller(管理一组Pod)kubernetes通过RC中定义的Label筛选出对应的Pod实例并实时监控其状态和数量,如果实例数量少于定义的副本数量,则会根据RC中定义的Pod模板来创建一个新的Pod,然后Scheduler将此Pod调度到合适的Node上启动运行,直到Pod实例数量达到预定目标。这个过程完全是自动化的。
确保用户期望的Pod数量(创建或销毁Pod)
在线Pod数量调整
Service(一组提供相同服务的pod的对外访问接口)具有如下特征:
拥有一个唯一指定的名字
拥有一个虚拟IP和端口号
能够提供某种远程服务能力
被映射到提供这种服务能力的一组容器上
service的服务进程目前都基于socket通信方式对外提供服务。
kubernetes内置了透明的负载均衡以及故障恢复的机制。
Label(标签)解决service与pod之间的关联问题。kubernetes给每个pod贴上一个标签,然后给service定义定义标签选择器。
Scheduler(将Pod调度到Node上)将Pod调度到合适的Node上启动运行
Volume(容器共享存储卷)pod中能够被多个容器访问的共享目录,与pod同生命周期,但与容器的生命周期无关,当容器终止或重启时,volume中的数据不会丢失。
Namespace(命名空间)使用namespace来组织kubernetes的各种对象,可以实现用户的分组(多租户),对不同的租户还可以进行多带带的资源设置和管理,是的整个集群的资源配置非常灵活。
参考Kubernetes: Getting Started With a Local Deployment
Kubernetes权威指南
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/32442.html
摘要:功能强大扩展性高,在许多人看来,它正在成为云计算的终极解决方案。我已经多次给具有丰富存储和云计算经验的人解释过这些问题,他们几乎都是抓耳挠腮,不明白这是怎么回事。和可能因为和使用起来太麻烦了,在年月,随着版本的发布,引入了动态纳管和的概念。 Kubernetes存储全解!你知道PV和PVC的区别吗?storage class和provisioner是什么关系?VolumeClaimTe...
摘要:标识是与操作对象间的纽带。集群为每个对象维护三类信息对象元数据期望状态与实际状态元数据指对象的基本信息,比如命名标签注释等等,用于识别对象期望状态一般由用户配置来描述的实际状态是由集群各个组件上报的集群实际的运行情况。 综述 学习Kubernetes时,发现它的概念和术语还是比较多的,光靠啃官方文档比较晦涩。所以边学习边整理,对主要的概念和术语做一下分类及简要说明。感觉把重要概念都理解...
摘要:它最基本的功能是实现了虚拟交换机,可以把虚拟网卡和虚拟交换机的端口连接,这样一个交换机下的多个网卡网络就打通了,类似的功能。最基础的分布式虚拟交换机,这样可以将多台机器上的容器组织在一个二层网络下,看上去就好像所有容器接在一台交换机上。 【编者的话】Kubernetes经过了几年的发展,存在着很多的网络方案。然而网络虚拟化在Kubernetes出现前就一直在发展,其中基于OpenVsw...
摘要:在上更进一步时,我们需要了解一些之前不存在的东西,比如基于角色的访问控制等等。这些功能一年前还没有,但现在正在变得越来越重要,对于在整个流程上的不同角色来说好处多多,确保正在做的事情不会影响到其他不该触及的事情。 在过去的一年多时间了里,我们深入了解了容器编排工具,引导团队构建并发布了可以部署在kubernetes上的cloud native GitLab helm chart。对于正...
摘要:本文中,我们将描述系统的架构开发演进过程,以及背后的驱动原因。应用管理层提供基本的部署和路由,包括自愈能力弹性扩容服务发现负载均衡和流量路由。 带你了解Kubernetes架构的设计意图、Kubernetes系统的架构开发演进过程,以及背后的驱动原因。 showImg(https://segmentfault.com/img/remote/1460000016446636?w=1280...
阅读 2946·2023-04-26 02:04
阅读 1262·2021-11-04 16:07
阅读 3605·2021-09-22 15:09
阅读 609·2019-08-30 15:54
阅读 1871·2019-08-29 14:11
阅读 2507·2019-08-26 12:19
阅读 2216·2019-08-26 12:00
阅读 713·2019-08-26 10:27