当前位置: 首页 > 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.dtcms.com/a/279462.html

相关文章:

  • LVS(Linux Virtual Server)集群技术详解
  • linux 内核: 访问当前进程的 task_struct
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 架构搭建
  • C++-linux 6.makefile和cmake
  • 深入掌握Performance面板与LCP/FCP指标优化指南
  • 学习笔记——农作物遥感识别与大范围农作物类别制图的若干关键问题
  • 计算两个经纬度之间的距离(JavaScript 实现)
  • HashMap的长度为什么要是2的n次幂以及HashMap的继承关系(元码解析)
  • 前缀和题目:使数组互补的最少操作次数
  • 闲庭信步使用图像验证平台加速FPGA的开发:第十四课——图像二值化的FPGA实现
  • 如何集成光栅传感器到FPGA+ARM系统中?
  • JVM 内存模型详解:GC 是如何拯救内存世界的?
  • Oracle Virtualbox 虚拟机配置静态IP
  • 《亿级流量系统架构设计与实战》通用高并发架构设计 读场景
  • 1. 深入理解ArrayList源码
  • ae如何安装在非C盘
  • 7.15 窗口函数 | 二分 | 位运算
  • 逻辑代数中的基本规则,代入规则和反演规则,对偶规则
  • LLM notes
  • GitCode 使用高频问题及解决方案
  • TextIn:大学生的文档全能助手,让学习效率飙升
  • 【Linux庖丁解牛】— 信号的产生!
  • SwiftUI 常用控件分类与使用指南
  • SCI特刊征稿
  • 延迟双删懂不
  • .net swagger的API项目里面 同时可以运行wwwroot里面的网页
  • Java 中的异步编程详解
  • Desktop Extensions (DXT) 详解
  • CA翻译~
  • 12.如何判断字符串是否为空?