当前位置: 首页 > news >正文

kubernetes架构

  1. kubernetes cluster由master和node组成,节点上运行着若干kubernetes服务
  2. Master节点:
    1. master是kubernetes cluster的大脑,运行着的Daemon服务包括kube-apiserver,kube-scheduler,kube-controller-manager,etcd和Pod网络(如flannel)
    2. API Service(kube-apiserver):api server提供了HTTP/HTTPS RESTful API。即kubernetes API。API Server是kubernetes cluster的前端接口,各种客户端工具(cli或者ui)以及kubernetes其他组件可以通过他管理cluster的各种资源
    3. Scheduler(kube-scheduler):scheduler负责决定将pod放在哪个Node上运行,scheduler在调度时会充分考虑cluster的拓扑结构,当前各个节点的负载,以及应用对高可用,性能,数据亲和性的需求
    4. Controller Manager(kube-controller-manager):controller manager负责管理cluster各种资源,保证资源处于预期的状态,controller manager由多种controller组成,包括replication controller,endpoints controller,namespce controller,serviceaccounts controller等,不同的controller管理不同的资源,比如:replication controller管理Deployment,StatefulSet,DaemonSet的生命周期。namespace controller管理Namespace资源。
    5. etcd:etcd负责保存kubernetes cluster的配置信息和各种资源的状态信息,当数据发生变化时,etcd会快速地通知kubernetes相关组件
    6. Pod网络:Pod要能够相互通信,kubernetes cluster必须部署Pod网络,flannel是其中一个可选方案
  3. Node节点:
    1. Node是pod运行的地方,kubernetes支持Docker,rkt(Rocket)等容器运行时工具,Node上运行的kubernetes组件有kubelet,kube-poxy和pod网络(如:flannel)

    2. kubelet:kubelet是Node的agent,当Scheduler确定在某个Node上运行Pod后,会将Pod的具体的配置信息(image,volume等)发送给该节点的kubelet,kubelet根据这些信息创建和运行容器,并向Master报告运行状态

    3. kube-proxy:service在逻辑上代表了后端的多个pod,外界通过service访问pod,kube-proxy把service接收到的请求转发到Pod上。每个Node都会运行kube-proxy服务,他负责将访问service的TCP/UDP数据流转发到后端的容器,如果有多个副本,kube-proxy会实现负载均衡

    4. Pod网络:Pod要能够相互通信,kubernetes cluster必须部署Pod网络,如:flannel,Calico在这里插入图片描述

    5. master上的kubelet和kube-proxy是因为:master上也可以运行应用,即master同时也是一个Node,几乎所有的kubernetes组件本身也运行在pod中,

    6. kubernetes的系统组件都被放到kube-system namespace中,kubelet是唯一没有以容器形式运行的kubernetes组件,他通过systemd服务运行,可以通过sudo systemctl status kubelet.service查看kubelet的状态

  4. 举例:
    1. 执行命令部署应用:kubectl run httpd-app --image=httpd --replicas=2:会看到deployment “httpd-app” created

    2. kubernetes部署了deployment httpd-app,有两个副本pod,分别运行在k8s-node1和k8s-node2

    3. 通过命令kubectl get deployment查看部署的应用,通过kubectl get pod -o wide查看具体的pod信息在这里插入图片描述

    4. 部署流程:

      1. kubectl发送部署请求到API Server
      2. API Server通知controller manager创建一个deployment资源
      3. Scheduler执行调度任务,将两个副本Pod分发到k8s-node1和k8s-node2
      4. k8s-node1和k8s-node2上的kubectl在各自的节点上创建并运行pod
      5. 补充:1:应用的配置和当前状态信息保存在etcd中,执行kubectl get pod时API Server会从etcd中读取这些资源,2:flannel会为每个pod都分配IP,因为没有创建service,所以目前流程kube-proxy没有参与

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • YOLOv9改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
  • 【每日刷题】Day125
  • 基于SpringBoot+Vue+MySQL的考研互助交流平台
  • SQL进阶的技巧:如何实现某列的累计乘积?
  • 二叉树——数据结构
  • 代理IP批理检测工具,支持socks5,socks4,http和https代理批量检测是否可用
  • Netty笔记03-组件Channel
  • 苹果华为轮番炒作,AI眼镜会是下一个大热点吗?
  • opencv滤波算法总结
  • OTA升级
  • 壹嘉情,中国与世界经济文化交流的新桥梁
  • linux-Linux 内核与模块管理-内核模块管理
  • 【SQL】百题计划:SQL对于空值的比较判断。
  • Mac中Twig模版安装与SSTI漏洞学习
  • 【python】30、矩阵加法 tensor.sum
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • CentOS7简单部署NFS
  • C学习-枚举(九)
  • Javascript基础之Array数组API
  • jquery cookie
  • k8s如何管理Pod
  • Linux各目录及每个目录的详细介绍
  • PhantomJS 安装
  • React中的“虫洞”——Context
  • Solarized Scheme
  • springboot_database项目介绍
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 简析gRPC client 连接管理
  • 理清楚Vue的结构
  • 日剧·日综资源集合(建议收藏)
  • 深入浅出Node.js
  • 使用docker-compose进行多节点部署
  • 函数计算新功能-----支持C#函数
  • ​zookeeper集群配置与启动
  • ​数据结构之初始二叉树(3)
  • #微信小程序:微信小程序常见的配置传值
  • $.ajax,axios,fetch三种ajax请求的区别
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET IoC 容器(三)Autofac
  • .net和php怎么连接,php和apache之间如何连接
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .NET周刊【7月第4期 2024-07-28】
  • @Transactional 竟也能解决分布式事务?
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [100天算法】-x 的平方根(day 61)
  • [2023年]-hadoop面试真题(一)
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [bzoj 3124][sdoi 2013 省选] 直径