只花10分钟就能了解Kubernetes!
当Docker 成为流行趋势之后,Kubernetes获得快速发展,成为最常用的容器编排工具。那么问题来了,Kubernetes为什么重要?什么是Kubernetes?什么时候使用?如何使用?本文将按照各个要点,逐一总结! Kubernetes的工作原理 KubernetesMaster:提供集群管理控制中心,是最主要的控制单元,管理各系统之间的工作负载和通信。Master组件可以在集群中任何节点上运行。但是为了简单起见,通常在一台VM/机器上启动所有Master组件,并且不会在此VM/机器上运行用户容器。 Etcd:一个开源的用于配置共享和服务发现的高性能的键值存储系统,由CoreOS团队开发,也是CoreOS的核心组件。Kubernetes使用“Etcd”存储集群的配置数据,对集群内部组建进行协调。 API- server: 是接收和修改REST请求的中央控制系统,用作控制集群的前端。此外,这是唯一与Etcd集群通信的东西,确保数据存储在Etcd中。 scheduler:是关键角色,它决定了任务何时被调度运行,也决定一次任务运行中,哪些节点可以被执行。被判定执行的节点会被scheduler通过MQ或FaaS发送给worker执行。不同业务的任务有独立的scheduler负责调度,发送任务到指定的Worker上。 Controller:是一个控制器,在后台运行许多不同的控制器进程,用以控制集群的共享状态,并执行例行任务。当服务发生任何更改时,控制器会发现更改,并开始以新的状态工作。 Worker Node:也被称为Kubernetes或Minion节点,它包含管理容器之间的网络(如Docker)和主节点之间的通信信息,并按照计划将资源分配给容器 Kubelet: Kubelet确保节点中的所有容器都在运行,并处于健康状态。Kubelet负责pod的创建,以及是不是想要的状态。如果Node失败,Controller会观察到这个变化,并在另一个健康的pod上启动pod。 Kube Proxy:充当网络代理和负载均衡器。此外,它将请求转发到集群中的隔离网络中,主要负责为Pod对象提供代理。 cAdvisor:充当助理,负责监视和收集关于每个节点上的资源使用和性能指标的数据。 Kubernetes的优点: 1)部署简单,更具开放性 Kubernetes可以在一个或多个云环境、虚拟机或裸机上运行容器,这意味着它可以部署在任何基础设施上。此外,它兼容多个平台,使得多云策略高度灵活和可用。 2)更强大的工作负载能力和可伸缩性 Kubernetes为应用扩展提供了几个大的特性,比如:水平扩展、自动缩放、手动缩放、可复制控制器创建的Pods等。另外,Kubernetes还提供了更强大的高可用性、健康检查、流量控制和负载均衡器、自动转出和回滚等。
(编辑:温州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |