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

K8s架构简述

以部署一个nginx服务说明kubernetes系统各个组件调用关系:

一旦kubernetes环境启动之后,master和node都会将自身的信息存储到etcd数据库中

一个nginx服务的安装请求会首先被发送到master节点的apiServer组件

apiServer组件会调用scheduler组件来决定到底应该把这个服务安装到哪个node节点上

在此时,它会从etcd中读取各个node节点的信息,然后按照一定的算法进行选择,并将结果告知apiServer

apiServer调用controller-manager去调度Node节点安装nginx服务

kubelet接收到指令后,会通知docker,然后由docker来启动一个nginx的pod

pod是kubernetes的最小操作单元,容器必须跑在pod中至此,

一个nginx服务就运行了,如果需要访问nginx,就需要通过kube-proxy来对pod产生访问的代理

这样,外界用户就可以访问集群中的nginx服务了

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为服务提供外网入口

参考:

Kubernetes(k8s)中文文档 Kubernetes设计架构_Kubernetes中文社区

http://www.lryc.cn/news/180067.html

相关文章:

  • linkedlist和arraylist的区别
  • [尚硅谷React笔记]——第2章 React面向组件编程
  • 嵌入式学习笔记(40)看门狗定时器
  • 点击、拖拉拽,BI系统让业务掌握数据分析主动权
  • C++模拟题[第一周-T1] 扑克
  • ciscn_2019_s_9
  • 微信、支付宝、百度、抖音开放平台第三方代小程序开发总结
  • C语言协程
  • RK3588安装python3.11(ubuntu18.04)
  • ‘Could not find first log file name in binary log index file‘的解决办法
  • 快速排序与冒泡排序以及代码
  • [React] 性能优化相关 (一)
  • 云中网络的隔离GREVXLAN
  • 【【萌新的RiscV学习之流水线控制-9】】
  • MySQL 通过存储过程高效插入100w条数据
  • 国庆10.1
  • [C++_containers]10分钟让你掌握vector
  • 前端与后端:程序中两个不同的领域
  • vue3 +elementplus | vue2+elementui 动态地通过验证规则子新增或删除单个表单字段
  • STM32之DMA
  • 解决前端二进制流下载的文件(例如:excel)打不开的问题
  • 动态规划算法(1)--矩阵连乘和凸多边形剖分
  • 通过Nginx重新认识HTTP错误码
  • 某房产网站登录RSA加密分析
  • 深度学习:基于长短时记忆网络LSTM实现情感分析
  • selenium使用已经获取的cookies登录网站报错unable to set cookie的处理方式
  • 初阶数据结构(四)带头双向链表
  • 2022年9月及10月
  • Vmware安装
  • RSA算法