k8s的简单了解

发布于 2020-02-25  950 次阅读


一、软件架构的演变

传统服务架构

微服务架构

微服务和传统架构的优与劣对比

传统架构的优与劣

微服务架构优与劣

二、什么是k8s

3.1、k8s定义

应用部署的演变

k8s定义

3.2、k8s的架构及组件(Master和worker节点)

https://edu.csdn.net/course/play/27761/375855?utm_source=distribute.pc_search_result.none-task

k8s结构

3.2.1、master节点

详细解析:

apiserver:和外界交互信息,人或者是worker

scheduler:控制那个容器,应用放在哪个worker节点工作,多少个等

controller-manager:健康检查,自动调节(自救)

etcd:保存指令,状态等(存储)

-----------------

Kubernetes主要由以下几个核心组件组成:

  • etcd保存了整个集群的状态;
  • apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
  • controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
  • scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
  • kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
  • Container runtime负责镜像管理以及Pod和容器的真正运行(CRI);
  • kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;

除了核心组件,还有一些推荐的Add-ons:

  • kube-dns负责为整个集群提供DNS服务
  • Ingress Controller为服务提供外网入口
  • Heapster提供资源监控
  • Dashboard提供GUI
  • Federation提供跨可用区的集群
  • Fluentd-elasticsearch提供集群日志采集、存储与查询

3.2.2、worker节点

详细解析:

kubelet:与master交互信息主键

kubu-proxy:网络管理主键