云原生k8s的盘古开天辟地

news2024/11/28 2:48:47

背景

      容器(docker)流行开来,容器调度机制风起云涌,各路神仙用systemctl调度, 也有号称容器宗师的出品docker swarm,  各大门派也有各自的旗帜主张。天下混沌,血雨腥风,龙藏深泉,而谷歌的k8s就是这个主角。

      LXC像武侠世界里藏在隐匿的一个洞穴,一直没有大的作为。各种体格的应用从单体拥抱了微服务,庞大的app, 复杂的架构,前端,负载均衡,网关,业务应用,公共服务,数据存储,各种缓存机制,消息队列,分布式对象存储,异地多活,高可用,高可靠,历史遗留,新旧语言更替,等等。大型机逐渐被廉价的PC机取代,云操作系统,openstack也进入了中青年阶段,后劲乏力。在这个时空里, 充斥了令人恶心至极的运维部署难度,怎样去解决日益难调和的矛盾?K8S就是在这样的情势下,开天辟地,让混沌的世界立刻变得澄清......

当红炸子鸡

        过去十多年,互联网服务个人得到了长足的发展,甚至是超前的烧钱模式引导消费者的变态病毒式侵蚀各行各业。 个人用户服务无论是网络带宽,延时,时长等,都过了快速成长阶段,进入相对稳定,甚至某一些方面,舆论和政策都处于一种高压状态。于是我们也发现一些,过去很火的龙头慢慢跌落神坛,逐渐归于平淡,以至淡出人们饭后茶余的谈资。 那未来互联网行业将如何发展呢?一个快速且有着很强生命力,自身携带融合基因的当红炸子鸡,肯定不是只有一个巅峰。下一个巅峰会在哪里?企业云服务,有可能是另一个着力点。

        在切入云原生前,云计算是我们都要讨论的一个课题。就像讲中国文明,绕开黄河,就没法开展。云计算(cloud computing)是一种通过网络统一组织,灵活调度各种软硬件资源,实现大规模计算和信息处理的算力。 单机,运行之上的,俗称OS, 云计算本质是分布式计算和虚拟资源软硬件管理, 通过网络把这些基础软硬件设施集中起来形成共享或隔离的资源池,最终能动态按需和客户定制化、可调节的方式向客户提供服务。 

云计算的优势

  • 低成本
  • 高算力
  • 高可靠性

云计算把原来看上去隔离的孤岛算力和存储,通过高速低延时网络把联合起来,做到了,灵活调度资源,按需分配,严控使用,降低成本。个人通过支付宝,把资金都聚到了支付宝中心,资金或进或出,从支付宝账户上来看,钱都在账户上,这个巨大的资金池就可以拿来满足各种资金需求。支付宝的金融风险,换做云计算就是一个富有想象空间的算力。用个更恰当的比喻,就是电网。将来,随着数字化,源源不断的数据生成,数据消费和数据生产也将是我们日常生活的一部分。那时,算力也成为一类类似公共事业的算力资源,人们通过各种接口消费算力资源。那谁可以提供这样的算网呢?没到最后的一刻,谁也说不准。

k8s无论出身和演化都凸显出一种贵族血统和精英气质,在开源宗旨的指引下飞入寻常百姓家。k8s放弃了复杂计算栈和抽象,除了拥有云计算的优势外,他自身还具有以下吸引人的特性。

高可用(HA)

弹性水平扩容(HPA)

自动恢复(AH auto healing)

化繁为简和权责清晰的哲学

Master Node

master node(s)是集群的大Boss, 他掌管整个集群的状态,分配任务到各个worker nodes,也就是真正干活的打工仔。作为一个中央集权机构,虽然用不上三书六部,但master node也将纷繁复杂的公务,用巧夺天工的精妙构思,划分成三大块。

API Server

  • 整个集群的入口,运维人员通常用利器 kubectl将操作请求发给API Server
  • 整个集群的门卫,负责所有请求的证件查看,确保所有进来的请求都是验证过的,匿名用户是不允许直接访问API Server的

Scheduler

  • master不干活,它负责分配活,决定哪一个worker node启动下一个pod. (kubelet)

Controller Manager

  • 侦测集群的状态,并且总是恢复集群到原来声明的状态。
  • 如果一个pod挂了,控制器会找到合适的worker node启动新的pod,替换掉之前挂的pod。

ETCD

  • 集群的大脑
  • Key-value存储集群的状态
  • 任何集群的状态变化都会存储到这里
  • app的数据不能存在这里,想都别想,所存的数据只有集群的状态信息。

Worker Node

作为干活的节点,除了卯足劲干活(containerd)外,还得听得懂命令,及时汇报状态(kubelet)。另外有畅通的道路,方便任务进进出出(kubeproxy)。

kubelet 

  • worker node和containerd之间的交互得通过kubelet
  • 接受来自master的指令在worker node上创建pod
  • 汇报worker node的状态给master node

containerd

  • 真正干活的长工或短工,容器运行时(dockerd, containerd)

kubeproxy

  • 负责worker node和内外流量的进出,提供traffic进出的康庄大道。
  • 维护traffic进出的路标(service)

参考文献

https://towardsdatascience.com/a-beginner-friendly-introduction-to-kubernetes-540b5d63b3d7

Learn Kubernetes Basics | Kubernetes

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/3807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

较低成本的ISO7637-2 5A 5B抛负载保护方案

科普下什么是抛负载,抛负载测试方案以及后端电路参数的选择。 在众多汽车电子电磁兼容测试中,最具破坏性的就是ISO7637-2的5A 5B测试了,当然也有的测试项目放在ISO16750标准中,但测试波形大体相同。上海雷卯有专门的文章描述这2个…

基于JavaWeb的手机商城系统设计与实现

目录 摘要 I Abstract II 第1章 绪论 1 1.1 课题背景 1 1.2 目的和意义 1 1.3 系统设计思想 3 1.4 本文的结构 3 第2章 可行性分析 4 2.1 业务流程图 4 2.2 经济可行性 6 2.3 技术可行性 6 2.4 运行可行性 6 2.5 本章小结 7 第3章 需求分析 8 3.1 关于电商的前世今生和目前发展…

C++基础知识梳理<2>(引用、内联函数、auto关键字) [入门级】

目录 一、引用 1. 引用概念 2. 引用特性 2.1 引用在定义时必须初始化 2.2 一个变量可以有多个引用 2.3 引用一旦引用一个实体,再不能引用其他实体 3. 常引用 3.1 取别名的规则 3.2 权限放大error 3.3 权限不变 3.4 权限缩小 4. 引用原理与拓展 4.1…

RestTemplate.exchange各种用法(包括泛型等 --全)

文章目录前言1. Get请求1.1 返回基本类型1.2 返回自定义对象类型1.3 返回List\<T> 类型1.4 返回Map\<K,V> 类型1.5 返回自定义泛型类型2.Post请求2.1 传headerbody返回对象类型2.2 传headerbody返回自定义泛型类型3. 异常情况处理4. RestTemplate配置Bean最后前言 …

学习笔记之Vue基础学习——持更

Vue学习一、Vue简介1.1 什么是Vue&#xff1f;1.2 Vue的特点1.3 Vue官网使用1.4 搭建Vue开发环境1.5 Hello小案例总结案例&#xff1a;二、模板语法2.1 两大类型三、数据绑定3.1 两种方式四、el和data的两种写法4.1 el的两种写法4.2 data的两种写法五、MVVM模型5.1 什么是MVVM模…

目标检测(5)—— YOLO系列V1

一、YOLO系列V1 经典的one-stage方法&#xff0c;You Only Look Once将检测问题转化成回归问题&#xff0c;一个CNN搞定可以对视频进行实时监测 YOLO系列的速度更快&#xff0c;我们检测的物体很简单&#xff0c;进行取舍&#xff0c;舍弃了一些精度。 V1核心思想 现在要预测…

Windows与Linux行尾换行符引发Git的一系列惨案

1 前言 最近在使用 Git 提交代码的时候&#xff0c;老是碰到一段看起来 “没有任何改动” 的代码&#xff0c;被 diff 检测出异常&#xff0c;很是苦恼&#xff0c;特别是项目紧急的时候&#xff0c;不敢用 VSCode 编辑了&#xff0c;只能用 vim 进行少量代码的修改、上库。 …

传统Spring项目的创建和使用xml文件来保存对象和取对象

传统Spring项目的创建和使用xml文件来保存对象和取对象## 传统Spring项目的创建 一、创建一个maven项目&#xff08;maven项目无需使用模板&#xff09; 二、导入Spring依赖&#xff08;Spring Context依赖和Spring Beans依赖&#xff09; 可以从maven仓库获取&#xff0c;也…

Java 中代码优化的 30 个小技巧(中)

11 位运算效率更高 如果你读过 JDK 的源码&#xff0c;比如 ThreadLocal、HashMap 等类&#xff0c;你就会发现&#xff0c;它们的底层都用了位运算。 为什么开发 JDK 的大神们&#xff0c;都喜欢用位运算&#xff1f; 答&#xff1a;因为位运算的效率更高。 在 ThreadLoca…

数码相机raw照片编辑Capture One Pro中文

怎么编辑数码相机拍摄的raw格式的照片&#xff1f;Capture One Pro 22是一款专业、强大、易于使用的图像编辑软件&#xff0c;与主流相机型号兼容&#xff0c;直接导入照片进行编辑操作&#xff0c;包括佳能、尼康、索尼、富士等。将所有必备工具和高端性能融于一体、使您在一套…

riscv引导程序及仿真记录

1.riscv基本的寄存器列表 这里只关注32个通用寄存器x0-x31 2.引导程序代码 # 1 "iriscvboot.casm" # 1 "<built-in>" # 1 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "<command-line>&qu…

【Linux】进程间通信

文章目录1.进程间通信基础2.管道2.1匿名管道2.1.1匿名管道的原理2.2匿名管道的特点2.3匿名管道函数2.3.1用例2.3.2实现ps -ajx | grep bash指令2.4匿名管道的特点2.5管道的大小2.6管道的生命周期2.7进程池3.命名管道FIFO3.1命名管道的接口3.2命名管道和匿名管道的区别3.3用FIFO…

大数据面试重点之kafka(七)

大数据面试重点之kafka(七) Kafka的分区器、拦截器、序列化器&#xff1f; 问过的一些公司&#xff1a;ebay 参考答案&#xff1a; Kafka中&#xff0c;先执行拦截器对消息进行相应的定制化操作&#xff0c;然后执行序列化器将消息序列化&#xff0c;最后执行分 区器选择对应分…

python:基础知识

环境&#xff1a; window11python 3.10.6vscodejavascript、c/c/java/c#基础&#xff08;与这些语言对比&#xff09; 注释 一、数据类型 基础六大数据类型&#xff0c;可以使用 type()查看&#xff0c;如下图&#xff1a; 1.1 数字&#xff08;Number&#xff09; 支持 整…

联邦学习--记录

简介 联邦学习&#xff08;Federated Learning&#xff09;是一种新兴的人工智能基础技术&#xff0c;其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下&#xff0c;在多参与方或多计算结点之间开展高效率的机器学习。其中&#…

【机器学习大杀器】Stacking堆叠模型-English

1. Introduction The stacking model is very common in Kaglle competitions. Why? 【机器学习大杀器】Stacking堆叠模型&#xff08;English&#xff09; 1. Introduction 2. Model 3: Stacking model 2.1 description of the algorithms: 2.2 interpretation of the es…

浅谈Vue中 ref、reactive、toRef、toRefs、$refs 的用法

&#x1f4ad;&#x1f4ad; ✨&#xff1a; 浅谈ref、reactive、toRef、toRefs、$refs   &#x1f49f;&#xff1a;东非不开森的主页   &#x1f49c;: 技术需沉淀&#xff0c;不要浮躁&#x1f49c;&#x1f49c;   &#x1f338;: 如有错误或不足之处&#xff0c;希望可…

Redhat(3)-Bash-Shell-正则表达式

1.bash脚本 2.bash变量、别名、算术扩展 3.控制语句 4.正则表达式 1.bash脚本 #!/bin/bash#this is basic bash script<< BLOCK This is the basic bash script BLOKC: This is the basic bash script echo "hello world!" 双引号、单引号只有在变量时才有区…

健身房信息管理系统/健身房管理系统

21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存储达到…

VCS 工具学习笔记(1)

目录 引言 平台说明 关于VCS 能力 Verilog 仿真事件队列 准备 VCS工作介绍 工作步骤 支持 工作机理 编译命令格式 编译选项 示例 仿真命令格式 仿真选项 示例 库调用 -y 总结 实践 设计文件 仿真文件 编译 仿真 关于增量编译 日志文件记录 编译仿真接续进…