容器编排引擎Kubernetes 02——K8s的集群架构

152 阅读1分钟

1 K8s的架构

image.png

一个 K8s 系统,通常称为一个 K8s 集群,集群主要包括两个部分:

  • Master 节点(通常有一个主节点)
  • Node 节点(用于计算的节点,通常大于1个)

2 Master节点

Master 节点主要负责管理和控制,Master 节点内部结构图如下:

image.png

Master 节点包括 API Server、Scheduler、Controller Manager、etcd:

  • API Server 是整个系统的对外接口,供客户端和其它组件调用,相当于“服务窗口”;
  • Scheduler 负责对集群内部的资源进行调度,相当于“调度室”;
  • Controller Manager 负责管理控制器,相当于“管理员”;
  • etcd 是保存K8s所有集群数据的后台数据库。

3 Node节点

Node 节点是工作负载节点,里面是具体的容器,Node 节点内部结构图如下:

image.png

Node节点包括 Docker、kubelet、kube-proxy、pod。

每个 Node 都会被 Master 分配一些工作负载,当某个 Node 宕机时,该节点上的工作负载就会被 Master 自动转移到其它节点上。

在Node上主要运行以下内容:

  • Docker,创建容器,提供k8s在node中运行的环境;
  • Kubelet,负责监视指派到它所在Node上的 Pod,包括创建、修改、监控、删除等;
  • Kube-proxy,主要负责为Pod对象提供代理;
  • Fluentd,主要负责日志收集、存储与查询。