k8s 简单介绍,包括功能,架构组织介绍.信息来源:阿里课程,本文章只是笔记。

功能

1. 调度

2. 容灾恢复

3.负载

架构

纵观资料全文。k8s 是一个server-client的结构。1)用户通过cli发送命令给server即master节点。2)master通过内部组件之间通信处理,3)最后向node下发相关指令:cli->master->node.

这句话很模糊,令人不解,不禁让人发问:

  1. 什么server-client结构。怎么命令到server又变成了master了?
  2. master内部组件?什么内部组件?内部组件有哪些,功能有哪些?
  3. node是什么?他做了什么事情?

    架构图

    image.png
  • 对于cli 或者ui等客户端来说,不能接触的那一端算是server(master-node)端了。作为管理者master将客户端的名林进行一系列处理之后,下发到node。由node作为最终行为的执行者。

image.png

  • 当master收到客户端调度一个pod命令,在master内部,由APIServer组件牵头,通知(notification)各个组件行使自己的职能。但是组件之间不进行交流,组件的每次操作以及结果都会上报给APIServer.由APIServer进行下一步工作指示。APIserver组件重要程度,在设计上,其支持水平扩展
  • 命令到达APIServer组件之后。会将此次调度pod的命令信息存储在分布式组件etcd中。并”通知”组件Scheduler调度器,进行这次调度并决策,之后将此次调度决策的结果(资料显示调度结果,实际上并不是真正调度)返回给APIServer组件。APIserver组件将结果存储在分布式组件etcd中。并通知node执行调度操作(这里我怀疑node实际上是从etcd中拿调度的信息,apiserver只是通知node需要做事了?!!!)

image.png

  • node 被通知了做事了。细致划分,node之中管事的是kubelet,这次接到命令的kubelet,教导手下的各种组件进行做事,准备容器运行时组件的去准备运行环境,准备网络的组件去准备网络,存储的去准备存储。。各个组件各司其职。。

重要的概念(pod,deployment,service,volume,namspace)

pod

deployment

service

volume

namespace

**