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

K8S的平台核心架构思想[面向抽象编程]

一、背景

        K8S的平台核心架构思想也是大家一直遵循的面向抽象编程,K8S平台只负责出标准,定接口,不负责具体的实现。

        1、出标准, 做上层接口抽象, 不负责具体实现. 让各个厂家都能合理、公平竞争,针对接口做出更好的实现

        2、投入更加聚焦时间在平台建设,而非具体实现

        3、具体实现会"死", 平台不会死. 平台不固定依赖某个具体实现,不会存在一家独大,威胁平台本身, 随时可以替换

二、核心内容

1、发展历程

        1、2003年, Google早期的Borg系统是K8S的前身. 当时容器编排技术在Google已经十分成熟.可运行数十万个来自不同应用程序的作业,为 K8s 的诞生奠定了基础。

        2、2014 年中,Google 推出 Kubernetes,作为 Borg 的开源版本。6 月 7 日,Kubernetes 在 GitHub 上完成第一次提交。7 月 10 日,微软、RedHat、IBM、Docker 等加入 Kubernetes 社区。

        3、Docker如日中天, 趁着docker的东风, 将K8S的整个运行时机制和Docker进行绑定, 获得了大量的用户

        4、吞并Apache mesos、docker Swarm, 成为容器编排的事实标准

        5、逐渐往平台化发展, 提出CRI、CNI、CSI 接口标准, CRI标准的提出, 代表着docker不再是k8s的唯一容器运行时.但是docker还是占据大量市场, docker没有向CRI靠拢, 那么K8S考虑到现状, 加入dockershim垫片[中间过渡,docker实现CRI的一个插件程序],用来兼容docker

        6、2022年, dockershim于1.24版本彻底被移除, 后期使用containerd作为k8s的默认容器运行时

2、Ingress的例子

        1、Ingress的规则是平台化的、标准的[除了annotations,各厂家注入的属性可能不同,来实现不同标记功能], 可以切换不同的ingress控制器的实现, 最终完成一样的7层流量负载

        2、nginx ingress控制器 切换为 haproxy 控制器实现, 很简单 只需要更改ingress的资源清单, apply 之后 由haproxy来自己更新规则.

通过haproxy来进行接管流量

3、Gateway API

        1、下一代 ingress 7层、4层代理的抽象资源接口, 同样的套路, 只是提供抽象接口, 具体实现由各个厂家实现

4、视频实验资料

通过网盘分享的文件:ingress-helm.zip
链接: https://pan.baidu.com/s/1mO6IncMIjkk7q553DzIVfg?pwd=3cw4

5、执行安装ingress命令

helm install haproxy haproxy-ingress-0.14.8.tgz -n haproxy --create-namespace -f values.yamlhelm install nginx-ingress nginx-ingress-2.1.0.tgz -n nginx-ingress --create-namespace -f values.yml

三、分享视频

   这里大家通过观看我的视频讲解,可能更加细致:

B站最清晰讲解,k8s(kubernetes)的平台核心架构思想[面向抽象编程]-上

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

相关文章:

  • 自动驾驶数据仓库:时间片合并算法。
  • ether.js—6—contractFactory以部署ERC20代币标准为例子
  • 0201-solidity基础-区块链-web3
  • OneCode 3.0 VFS客户端驱动(SDK)技术解析:从架构到实战
  • 虚拟货币交易:游走在合法与犯罪的生死线
  • 排序树与无序树:数据结构中的有序性探秘
  • 【【异世界历险之数据结构世界(二叉树)】】
  • 交换类排序的C语言实现
  • 删除当前项目关联的远程仓库(remote)
  • C#结构体:值类型的设计艺术与实战指南
  • 基于ASP.NET+SQL Server实现(Web)排球赛事网站
  • iOS高级开发工程师面试——RunTime
  • JAVA面试宝典 - 《MyBatis 进阶:插件开发与二级缓存》
  • 多尺度频率辅助类 Mamba 线性注意力模块(MFM),融合频域和空域特征,提升多尺度、复杂场景下的目标检测能力
  • 华曦达港股IPO丨AI Home生态构建,开启智能家居新篇章
  • 《Librosa :一个专为音频信号处理和音乐分析设计的Python库》
  • ServBay Windows 1.3.0 更新!新增系统监控与 Nginx 配置升级
  • [spring6: Resource ResourceLoader]-加载资源
  • GPT-4和Claude哪个好
  • UML建模和设计模式——常考点整理
  • VScode链接服务器一直卡在下载vscode服务器,无法连接成功
  • 视频动态范围技术演进:从SDR到HDR的影像革命
  • 【Unity】MiniGame编辑器小游戏(十三)最强射手【Shooter】(下)
  • wpf 实现窗口点击关闭按钮时 ​​隐藏​​ 而不是真正关闭,并且只有当 ​​父窗口关闭时才真正退出​​ 、父子窗口顺序控制与资源安全释放​
  • 单向链表、双向链表、栈、队列复习(7.14)
  • 软件测试中的BUG等级与生命周期详解
  • Java 中的异步编程详解
  • Git根据标签Tag强制回滚版本
  • LVS初步学习
  • LVS(Linux Virtual Server)集群技术详解