kubernetes组件学习

1、kubernetes Controller plane Components

 

kubernetes集群架构图:

kubernetes组件学习

 

 

Controller plane Components 是用于kubernetes集群管理的,主要是由以下几个组件组成的:

(1)、kube-apiserver:

主要是用于暴露kubernetes容器API的,kube-apiserver可以通过部署多个实例来达到水平扩展的目的,并且通过负载均衡的方式去调用服务。

(2)、etcd

etcd是kubernetes默认的集群数据存储系统,它保存着所有集群的数据,是kubernetes默认的持久化方式,在使用的时候需要做好数据的备份,以防数据的丢失。

(3)、kube-scheduler

kube-scheduler是kubernetes 的一个定时组件,主要是用于监听那些新创建并且还未分配到具体Node的组件。

(4)、kube-controller-manager 

 kube-controller-manager 运行管理控制器,它们是集群中处理常规任务的后台线程。逻辑上,每个控制器是一个单独的进程,但为了降低复杂性,它们都被编译成单个二进制文件,并在单个进程中运行。

这些控制器包括:

  • 节点(Node)控制器
  • 副本(Replication)控制器:负责维护系统中每个副本中的pod。
  • 端点(Endpoints)控制器:填充Endpoints对象(即连接Services&Pods)。
  • Service Account和Token控制器:为新的Namespace 创建默认帐户访问API Token

(5)、cloud-controller-manager

cloud-controller-manager(云控制管理器),主要是负责与底层云提供商的api进行交互的组件,主要包含:

  • 节点(Node)控制器
  • 路由(Route)控制器
  • 服务(Service)控制器
  • 卷(Volume)控制器

二、节点(Node components)

Node组件可以运行在任何的node节点上,它提供了kubernetes的运行时环境,同时还兼顾着维护Pod

(1)、kubenet

kubernetes Node组件的节点代理,监视已分配给具体node的pod,具体职责:

  • 安装Pod所需的卷(volume)。
  • 下载Pod的Secrets。
  • Pod中运行的 docker(或experimentally,rkt)容器。
  • 定期执行容器健康检查。
  • 在系统后台报告pod的运行状态,必要时刻还可以通过创建镜像pod去完成这些工作。
  • 报告节点的运行状态

(2)、kube-proxy

它过在主机上维护网络路由规则,正是由于它的存在才使得集群内外都可以与Pod实现网络通信。

(3)、container runtime

用于运行容器的环境,kubernetes支持多种容器的运行时环境:如docker、containered、CRI-O等

三、kubernetes容器插件:

(1)、DNS

kubernetes 容器在运行集群的时候最好是有 集群域名服务(cluster-DNS),Kubernetes启动的容器自动将这个DNS服务器包含在他们的DNS searches中。

(2)、web-ui

kubernetes 集群 ui监控界面

(3)、container resource monitoring

kubernetes集群容器资源监控

(4)、custer-level loging

用于kubernetes 保存集群日志用的

上一篇:.to(device)和.cuda()设置GPU的区别


下一篇:暑期实训log8