
根基事变进程
Kubernetes 的焦点事变进程:
- 资源工具:Node、Pod、Service、Replication Controller 等都可以看作一种资源工具
- 操纵:通过行使 kubectl 器材,执行增编削查
- 存储:工具的方针状态(预设状态),生涯在 etcd 中耐久化储存;
- 自动节制:跟踪、比拟 etcd 中存储的方针状态与资源的当前状态,对差别资源纠偏,自动节制集群状态。
Kubernetes 现实是:高度自动化的资源节制体系,将其打点的统统抽象为资源工具,大随处事器 Node 节点,小随处究竟例 Pod。
Kubernetes 的资源节制是一种声明+引擎的理念:
- 声明:对某种资源,声明他的方针状态
- 自动:Kubernetes 自动化资源节制体系,会一向全力将该资源工具维持在方针状态。
架构(物理+逻辑)
Kubernetes 集群,是主从架构:
- Master:打点节点,集群的节制和调治
- Node:事变节点,执行详细的营业容器
下述几个组件,都是独立的历程,每个历程都是 Go 说话编写,现实陈设 Kubernetes 集群,就是陈设这些措施。
Master节点:
- kube-apiserver
- kube-controller-manager
- kube-scheduler
- Node节点:
- kubelet
- kube-proxy
详细,2 种脚色的节点,必要运行的历程和职责差异,具体描写如下。
Master 打点节点:打点整个 Kubernetes 集群,吸取外部呼吁,维护集群状态。
- apiserver: Kubernetes API Server
- 集群节制的进口
- 资源的增编削查,耐久化存储到 etcd
- kubectl 直接与 API Server 交互,默认端口 6443。
- etcd: 一个高可用的 key-value 存储体系
- 浸染:存储资源的状态
- 支持 Restful 的API。
- 默认监听 2379 和 2380 端口(2379提供处事,2380用于集群节点通讯)(疑问:集群节点,是说 etcd 的集群? Master 集群?)
- scheduler: 认真将 pod 资源调治到吻合的 node 上。
- 调治算法:按照 node 节点的机能、负载、数据位置等,举办调治。
- 默认监听 10251 端口。
- controller-manager: 全部资源的自动化节制中心
- 每个资源,都对应有一个节制器(疑问:浸染是什么?)
- controller manager 打点这些节制器
- controller manager 是自动化的轮回节制器
- Kubernetes 的焦点节制保卫历程,默认监听10252端口。(疑问:为什么有监听段口感?)
增补声名:
scheduler和controller-manager都是通过apiserver从etcd中获取各类资源的状态,举办响应的调治和节制操纵。
Node 节点:Master 节点,将使命调治到 Node 节点,以 docker 方法运行;当 Node 节点宕机时,Master 会自动将 Node 上的使命调治到其他 Node 上。
- kubelet: 本节点Pod的生命周期打点,按期向Master上报本节点及Pod的根基信息
- Kubelet是在每个Node节点上运行agent
- 认真维护和打点全部容器:从 apiserver 吸取 Pod 的建设哀求,启动和遏制Pod
- Kubelet不会打点不是由Kubernetes建设的容器
- 按期向Master上报信息,如操纵体系、Docker版本、CPU、内存、pod 运行状态等信息
- kube-proxy:集群中 Service 的通讯以及负载平衡
- 成果:处事发明、反向署理。
- 反向署理:支持TCP和UDP毗连转发,默认基于Round Robin算法将客户端流量转发到与service对应的一组后端pod。
- 处事发明:行使 etcd 的 watch 机制,监控集群中service和endpoint工具数据的动态变革,而且维护一个service到endpoint的映射相关。(本质是:路由相关)
- 实现方法:存在两种实现方法,userspace 和 iptables。
- userspace:在用户空间,通过kuber-proxy实现负载平衡的署理处事,是最初的实现方案,较不变、服从不高;
- iptables:在内核空间,是纯回收iptables来实现LB,是Kubernetes今朝默认的方法;
- runtime:一样平常行使 docker 容器,也支持其他的容器。
集群的高可用
Kubernetes 集群,在出产情形,必需实现高可用:
- 实现Master节点及其焦点组件的高可用;
- 假如Master节点呈现题目的话,那整个集群就失去了节制;
详细的 HA 表示图:
上述方法可以用作 HA,但仍未成熟,据相识,将来会更新进级 HA 的成果.
详细事变道理:
- etcd 集群:陈设了3个Master节点,每个Master节点的etcd构成集群
- 进口集群:3个Master节点上的APIServer的前面放一个负载平衡器,事变节点和客户端通过这个负载平衡和APIServer举办通讯
- pod-master担保仅是主master可用,scheduler、controller-manager 在集群中多个实例只有一个事变,其他为备用
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|