K8s 架构原理

K8s 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化

通过 K8s 我们可以:

  • 快速部署应用

  • 快速扩展应用

  • 无缝对接新的应用功能

  • 节省资源,优化硬件资源的使用

K8s 有如下特点:

  • 可移植:支持公有云,私有云,混合云,多重云 multi-cloud。

  • 可扩展:模块化,插件化,可挂载,可组合。

  • 自动化:自动部署,自动重启,自动复制,自动伸缩/扩展。

架构原理

图片

概括来说 K8s 架构就是一个 Master 对应一群 Node 节点。下面我们来逐一介绍 K8s 架构图中的 Master 和 Node。

Master 节点结构如下:

  • apiserver 即 K8s 网关,所有的指令请求都必须要经过 apiserver。

  • Scheduler 调度器,使用调度算法,把请求资源调度到某一个 Node 节点。

  • Controller 控制器,维护 K8s 资源对象。

  • etcd 存储资源对象。

Node 节点结构如下:

  • Kubelet 在每一个 Node 节点都存在一份,在 Node 节点上的资源操作指令由 Kubelet 来执行。

  • Kube-proxy 代理服务,处理服务间负载均衡。

  • Pod 是 K8s 管理的基本单元(最小单元),Pod 内部是容器,K8s 不直接管理容器,而是管理 Pod。

  • Docker 运行容器的基础环境,容器引擎。

  • Fluentd 日志收集服务。

posted @ 2022-06-05 21:51  huiyii  阅读(193)  评论(0编辑  收藏  举报