Kubernetes核心概念整理

拈花ヽ惹草 提交于 2020-08-16 10:25:45

组件概述

以下是组件图

图片来源于:此处

Kubernetes采用Master/Slave架构,主要包含如下组件:

  • Master组件包含

    • API Server:API Gateway,用于和所有的组件进行交互的节点;
    • Controller Manager:业务逻辑的控制中⼼,包含各类控制器模块
    • Scheduler: 对Pod进行实际调度
    • ETCD: 用于存储所有Kubernetes的元数据,KV存储
  • Slave组件

    • Kubelet: Node和Pod⽣生命周期管理
    • Kube-Proxy: Pod的对外服务发现代理
    • cAdvisor:容器监控,目前集成到了kubelet组件中

一般通过kubectl提交命令,然后通过APIServer存储到ETCD,再由各个组件进行watch并做相关处理。

核心资源大图

  • Pod: 一组容器,是kubernetes系统中的最⼩的调度单元,是直接处理业务的Workload;
  • 应⽤用配置:
    • ConfigMap: 可以存储相关的应用配置信息;
    • Secret: 一般用于存储应用的秘钥信息,通过base64进行编码;
    • PVC: 应用的持久化存储;
  • 应⽤用服务发现:
    • Service: Pod对外服务的负载均衡
    • Endpoints: 和Service⼀一⼀一对应,表示Pods的IP/Port信息
  • 相关控制器:
    • Deployment : 用于无状态应用的生命周期管理,通过ReplicaSet管理Pod,要求所有的Pod是无状态的;
    • StatefulSet : 用于有状态应用的生命周期管理,支持挂载持久盘和顺序;
    • DaemonSet : 守护进程,每个Node一个;
    • Job : 提供了一次性任务;
    • JobCron : 提供定时任务;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!