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

【容器】容器平台初探 - k8s整体架构

        K8s是Kubernetes的简称,它是Google的开源容器集群管理系统,其提供应用部署、维护、扩展机制等功能,利用k8s能很方便地管理跨机器运行容器化的应用

K8s总揽

K8s主要组件

组件说明

一、Master组件

1、APISERVER:API Server主要用来处理REST的操作,确保它们生效,并执行相关业务逻辑,以及更新etcd(或者其他存储)中的相关对象。

REST操作包括但不限于:允许用户创建、读取、更新和删除pod;认证和授权;

2、Controller-Manager:执行大部分的集群层次的功能,它既执行生命周期功能(例如:命名空间创建和生命周期、事件垃圾收集、已终止垃圾收集、级联删除垃圾收集、node垃圾收集),也执行API业务逻辑(例如:pod的弹性扩容)。控制管理提供自愈能力、扩容、应用生命周期管理、服务发现、路由、服务绑定和提供。

3、Scheduler:为容器自动选择运行的主机。依据请求资源的可用性,服务请求的质量等约束条件,scheduler监控未绑定的pod,并将其绑定至特定的node节点。K8s也支持用户自己提供的调度器,scheduler负责根据调度策略自动将pod部署到合适的node中。调度策略分为预选策略和优选策略,pod的整个调度过程分为两步:

                1)预选Node:遍历集群中所有的Node,按照具体的预选策略筛选出符合要求的Node列表。如没有Node符合预选策略规则,该pod就会被挂起,知道集群中出现符合要求的Node。

                2)优选Node:预选Node列表的基础上,按照优选策略为待选的Node进行打分和排序,从中获取最优的Node。

4、ETCD:集群的所有状态都存储在etcd实例中,并具有监控的能力,因此当etcd中的信息发生变化时,就能够快速的通知集群中相关的组件。

二、WokerNode组件

1、kubelet:运行在工作节点上的守护进程,它从API Server接收关于pod对象的配置信息并确保它们处于期望的状态。会在API Server上注册当前工作节点,定期向Master汇报节点资源使用情况。

2、Kube-Proxy:每一个worker节点都需要运行一个kube-proxy守护进程,它能够按需为Service资源对象生成IPTABLES或IPVS的规则,从而捕获访问当前Service的ClusterIP的流量,并将其转发至正确的后端pod对象。

3、Container Runtime:负责下载镜像和运行容器。K8s本身并不提供容器运行时环境,但提供了接口,可以插入所选择的容器运行时的环境。目前,k8s支持的容器运行时环境至少包括Docker、RKT、CRI-O和Fraki等。kubelet作为客户端与其进行通信。

http://www.lqws.cn/news/542341.html

相关文章:

  • RJ45 以太网与 5G 的原理解析及区别
  • swagger访问不了的解决方案 http://localhost:8080/swagger-ui/index.html
  • 可编辑37页PPT | 数字化转型咨询规划方案
  • Mysql Mybatis批量插入和批量更新数据
  • 设计模式 | 适配器模式
  • LaTeX下载与实践入门指南
  • 在 Dev Container 中实现 GUI 开发的解决方案
  • 报表控件stimulsoft教程:在报表、仪表板和 PDF 表单自动生成缩略图
  • SQL Server 中 GO 的作用
  • mPaaS 客户端诊断概述
  • CSS3实现同心圆效果
  • Go 语言中的 package 和 go modules
  • (二)YOLOV12部署训练
  • 人工智能-基础篇-1-人工智能介绍(发展史,技术体系,技术基础,主要领域,前景和挑战)
  • macOS,切换 space 失效,向右切换space(move right a space) 失效
  • Django导入错误:`from django.conf.urls import url` 的终极解决方案
  • 【机器学习深度学习】线性回归(基本模型训练流程)
  • 【AS32系列MCU调试教程】SPI调试的常见问题解析
  • 【AI助手】释放双手,基于Cursor Agent与Playwright MCP的浏览器自动化实战
  • Windows家庭版安装docker
  • 【Pandas】pandas DataFrame last_valid_index
  • 校企协同育人,智慧养老实训基地助力人才就业无忧
  • 【中文核心期刊推荐】《计算机工程与科学 》
  • MST56XXB/MST5650B/MST5033B 是一款耐高压的LDO芯片,针对中控设备,给MCU供电,60V的耐压,150mA
  • elastic-ai.creator开源程序是设计、训练和生成专门针对 FPGA 优化的神经网络
  • react-sequence-diagram时序图组件
  • 飞算科技依托 JavaAI 核心技术,打造企业级智能开发全场景方案
  • 【数据结构】B树的介绍及其实现C++
  • 带标签的 Docker 镜像打包为 tar 文件
  • React Native 如何实现拉起App