加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

K8s集群架构与高可用理会

发布时间:2019-09-11 00:36:12 所属栏目:建站 来源:佚名
导读:根基事变进程 Kubernetes 的焦点事变进程: 资源工具:Node、Pod、Service、Replication Controller 等都可以看作一种资源工具 操纵:通过行使 kubectl 器材,执行增编削查 存储:工具的方针状态(预设状态),生涯在 etcd 中耐久化储存; 自动节制:跟踪、对

 K8s集群架构与高可用理会

根基事变进程

Kubernetes 的焦点事变进程:

  • 资源工具:Node、Pod、Service、Replication Controller 等都可以看作一种资源工具
  • 操纵:通过行使 kubectl 器材,执行增编削查
  • 存储:工具的方针状态(预设状态),生涯在 etcd 中耐久化储存;
  • 自动节制:跟踪、比拟 etcd 中存储的方针状态与资源的当前状态,对差别资源纠偏,自动节制集群状态。

Kubernetes 现实是:高度自动化的资源节制体系,将其打点的统统抽象为资源工具,大随处事器 Node 节点,小随处究竟例 Pod。

Kubernetes 的资源节制是一种声明+引擎的理念:

  • 声明:对某种资源,声明他的方针状态
  • 自动:Kubernetes 自动化资源节制体系,会一向全力将该资源工具维持在方针状态。

架构(物理+逻辑)

Kubernetes 集群,是主从架构:

  • Master:打点节点,集群的节制和调治
  • Node:事变节点,执行详细的营业容器
K8s集群架构与高可用理会

下述几个组件,都是独立的历程,每个历程都是 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 集群,在出产情形,必需实现高可用:

  1. 实现Master节点及其焦点组件的高可用;
  2. 假如Master节点呈现题目的话,那整个集群就失去了节制;

详细的 HA 表示图:

K8s集群架构与高可用理会

上述方法可以用作 HA,但仍未成熟,据相识,将来会更新进级 HA 的成果.

详细事变道理:

  • etcd 集群:陈设了3个Master节点,每个Master节点的etcd构成集群
  • 进口集群:3个Master节点上的APIServer的前面放一个负载平衡器,事变节点和客户端通过这个负载平衡和APIServer举办通讯
  • pod-master担保仅是主master可用,scheduler、controller-manager 在集群中多个实例只有一个事变,其他为备用

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读