k8s学习笔记(2)--- kubernetes架构

本文详细介绍了Kubernetes(K8s)的系统架构,包括Master Node的API Server、Scheduler、Controller Manager和Worker Node的Kubelet、Container Runtime、kube-proxy等组件,以及其分层架构和设计理念。K8s采用主从分布式架构,利用etcd存储集群状态,通过API Server处理REST操作。同时,文章探讨了Kubernetes的分层设计理念、API设计原则和控制机制设计原则,强调了系统的容错性和易扩展性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、kubernetes系统架构

         K8s 集群属于主从分布式架构,主要由分布式存储(etcd)、服务节点(Worker Node)和控制节点(Master Node)构成的,以及包括以下主要核心组件:

  • 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:提供集群日志采集、存储与查询;

注释:
Master Node:作为控制节点,对集群进行调度管理;Master Node由API Server、Scheduler、Cluster State Store和Controller-Manger Server所组成;
Worker Node:作为真正的工作节点,运行业务应用的容器;Worker Node包含kubelet、kube proxy和Container Runtime等;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、kubernetes分层架构

        Kubernetes设计理念和功能其实就是一个类似Linux的分层架构,如下图:
在这里插入图片描述

  • 核心层:Kubernetes最核心的功能,对外提供API构建高层的应用,对内提供插件式应用执行环境;
  • 应用层:部署(无状态应用、有状态应用、批处理任务、集群应用等)和路由(服务发现、DNS解析等);
  • 管理层:系统度量(如基础设施、容器和网络的度量),自动化(如自动扩展、动态Provision等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy等);
  • 接口层:kubectl命令行工具、客户端SDK以及集群联邦;
  • 生态系统:在接口层之上的庞大容器集群管理调度的生态系统,可以划分为两个范畴:
            Kubernetes外部:日志、监控、配置管理、CI、CD、Workflow、FaaS、OTS应用、ChatOps等;
            Kubernetes内部:CRI、CNI、CVI、镜像仓库、Cloud Provider、集群自身的配置和管理等;

三、Kubernetes及容器生态系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值