1. k8s的简介
Kubernetes(k8s)简介
1. 产生背景
随着云计算和微服务架构的兴起,传统的单体应用逐渐被拆分为多个小型、松耦合的服务(微服务)。这种架构虽然提升了开发灵活性和可维护性,但也带来了新的挑战:
• 部署复杂性:成百上千的微服务需要独立部署、扩展和监控。
• 资源管理:如何高效利用服务器资源,避免资源浪费?
• 高可用性:如何确保服务在故障时自动恢复?
• 跨环境一致性:开发、测试、生产环境如何保持一致?
Google 的实践经验:
Google 内部早在 2000 年代初期就面临大规模服务管理的难题,并开发了名为 Borg 的集群管理系统(用于管理数十亿容器的运行)。2014 年,Google 将 Borg 的核心思想开源,推出了 Kubernetes(意为“舵手”或“飞行员”),并将其捐赠给 CNCF(云原生计算基金会)。
Kubernetes 的目标是提供一套标准化的容器编排方案,解决分布式系统的运维痛点。
2. Kubernetes 与 Docker 的关系
(1) Docker 的定位
Docker 是容器化技术的代表,解决了应用打包和环境一致性问题:
• 容器化:将应用及其依赖(如库、配置文件)打包成轻量级、可移植的容器镜像。
• 环境一致性:开发者的本地环境与生产环境完全一致,避免“在我机器上能跑”的问题。
(2) Kubernetes 的定位
Docker 解决了单个容器的运行问题,但在大规模场景中仍需解决:
• 容器调度:成百上千的容器如何分配到服务器?
• 服务发现:容器动态扩缩容时,如何自动更新网络配置?
• 故障自愈:容器崩溃后如何自动重启?
• 滚动更新:如何实现零停机更新?
Kubernetes 的作用:
Kubernetes 是容器编排平台,负责管理 Docker 容器的 生命周期,包括部署、扩缩容、网络、存储等。
• 关系比喻:
• Docker 是“集装箱”,负责封装货物(应用)。
• Kubernetes 是“港口调度系统”,负责决定集装箱放在哪艘船(服务器)、如何运输(网络)、何时补充货物(扩缩容)。
(3) 技术栈的演进
• Docker 单机模式:手动启动容器,适合简单场景。
• Docker Compose:单机多容器编排,适合本地开发。
• Kubernetes:跨节点、跨集群的容器编排,适合生产环境。
3. Kubernetes 的核心功能
-
自动化部署与扩缩容
• 根据 CPU/内存使用率或自定义指标自动调整副本数量(HPA)。
• 示例:电商大促时自动扩容后端服务以应对流量高峰。 -
服务发现与负载均衡
• 通过 Service 和 Ingress 暴露服务,自动分配 IP 和 DNS 名称。
• 示例:前端应用通过服务名user-service访问后端,无需关心具体 IP。 -
存储编排
• 支持动态挂载云存储(如 AWS EBS、NFS),解决容器数据持久化问题。
• 示例:数据库容器的数据卷在 Pod 重启后仍保留。 -
自我修复
• 自动重启崩溃的容器、替换故障节点、重新调度 Pod。
• 示例:某节点宕机后,其上的 Pod 会被迁移到健康节点。 -
密钥与配置管理
• 通过 ConfigMap 和 Secret 集中管理配置和敏感信息。
• 示例:数据库密码通过 Secret 注入,而非硬编码在代码中。 -
批处理任务
• 支持一次性任务(Job)和定时任务(CronJob)。
• 示例:每天凌晨执行数据备份任务。
4. 主要应用场景
(1) 微服务架构
• 场景特点:大量小型服务独立部署、通信复杂。
• K8s 优势:
• 服务间通过 Service 通信,自动负载均衡。
• 每个服务可独立扩缩容,提升资源利用率。
(2) 持续交付与 DevOps
• 场景特点:频繁发布新版本,需快速迭代且不影响用户体验。
• K8s 优势:
• 滚动更新(Rolling Update)实现零停机部署。
• 与 CI/CD 工具(如 Jenkins、GitLab CI)无缝集成。
(3) 混合云与多云部署
• 场景特点:业务需跨公有云(AWS、Azure)和私有云运行。
• K8s 优势:
• 提供一致的部署和管理接口,避免云厂商锁定。
• 示例:在 AWS 和本地数据中心同时运行服务。
(4) 大规模应用管理
• 场景特点:成千上万的容器需要高效调度。
• K8s 优势:
• 优化资源分配,提高服务器利用率。
• 自动处理节点故障,保障业务连续性。
(5) 高可用与灾备
• 场景特点:关键业务需 24/7 稳定运行。
• K8s 优势:
• 跨可用区(AZ)部署 Pod,避免单点故障。
• 自动检测并替换不健康的实例。
5. 实际案例
- Spotify
• 音乐流媒体平台,使用 Kubernetes 管理 1000+ 微服务,实现快速迭代和全球部署。 - Airbnb
• 从单体架构迁移到微服务,依赖 Kubernetes 处理每日数亿次请求。 - Adidas
• 通过 Kubernetes 在混合云环境中运行电商平台,支撑“黑五”大促流量。
6. 总结
• Kubernetes 的定位:容器编排的事实标准,解决分布式系统复杂性的核心工具。
• 与 Docker 的关系:互补而非替代,Docker 负责“容器化”,Kubernetes 负责“规模化”。
• 适用场景:微服务、CI/CD、混合云、大规模应用、高可用系统等。
通过 Kubernetes,企业可以专注于业务逻辑,而非底层基础设施的运维细节,真正实现“云原生”。
相关文章:
1. k8s的简介
Kubernetes(k8s)简介 1. 产生背景 随着云计算和微服务架构的兴起,传统的单体应用逐渐被拆分为多个小型、松耦合的服务(微服务)。这种架构虽然提升了开发灵活性和可维护性,但也带来了新的挑战:…...
单片机 | 基于51单片机的倾角测量系统设计
以下是一个基于51单片机的倾角测量系统设计详解,包含原理、公式和完整代码: 一、系统原理 核心器件:MPU6050(集成3轴加速度计+陀螺仪) 主控芯片:STC89C52RC(51单片机) 显示模块:LCD1602液晶 工作原理: 通过MPU6050采集XYZ三轴加速度数据,利用重力加速度分量计算俯仰…...
div(HTML标准元素)和view(微信小程序专用组件)的主要区别体
div(HTML标准元素)和view(微信小程序专用组件)的主要区别体现在以下方面: 一、应用场景与开发框架 适用平台不同 div是HTML/CSS开发中通用的块级元素,用于Web页面布局;view是微信小程序专…...
MGR实现mysql高可用性
一。MGR和PXC的区别 1. PXC的消息广播机制是在节点间循环的,需要所有节点都确认消息,因此只要有一个节点故障,则会导致整个PXC都发生故障。而MGR则是多数派投票模式,个别少数派节点故障时,一般不影响整体的可用性。这…...
新型多机器人协作运输系统,轻松应对复杂路面
受到鱼类、鸟类和蚂蚁等微小生物体协作操纵的启发,研究人员开发了多机器人协作运输系统(Multirobot Cooperative Transportation Systems,MRCTS)运输单个机器人无法处理的重型超大物体,可用于搜救行动、灾难响应、军事…...
汇编获取二进制
文章目录 AT&Tasm Intel AT&T mov_test.s mov $0,%r8dgcc -c mov_test.s 输出 mov_test.o,objdump -D mov_test.o 查看 mov_test.o: mov_test.o: file format elf64-x86-64Disassembly of section .text:0000000000000000 <.text>:0: 41 b8 00 00 00 00 …...
【秣厉科技】LabVIEW工具包——OpenCV 教程(19):拾遗 - imgproc 基础操作(上)
文章目录 前言imgproc 基础操作(上)1. 颜色空间2. 直方图3. 二值化4. 腐蚀、膨胀、开闭运算5. 梯度与轮廓6. 简易绘图7. 重映射 总结 前言 需要下载安装OpenCV工具包的朋友,请前往 此处 ;系统要求:Windows系统&#x…...
学习笔记:金融经济学 第3讲
学习笔记:金融经济学 第3讲 注:A本金,n时间(比如年),r利率一、 计算习惯1. 单息(新产生的利息不算进本金重新计算利息,收款额A(1nr) )2. 复利(新产生的利息算进本金重新计…...
NVIDIA RTX™ GPU 低成本启动零售 AI 场景开发
零售行业正在探索应用 AI 升级客户体验,同时优化内部流程。面对多重应用场景以及成本优化压力,团队可采用成本相对可控的方案,来应对多重场景的前期项目预演和落地,避免短期内大规模投入造成的资源浪费。 客户体验 AI 场景的研究…...
【网络】IP层的重要知识
目录 1.IP层的作用 2.主机和节点 3.网络层和数据链路层的关系 4.路由控制 4.1.路由控制的过程 4.2. IP地址与路由控制 4.3.路由控制表的聚合 4.4.静态路由和动态路由 4.5.动态路由的基础 5.数据链路的抽象化 5.1.数据链路不同,MTU则相异 5.2.路径MTU发…...
数理逻辑(Mathematical Logic)综论与跨学科应用
李升伟 整理 数理逻辑(Mathematical Logic)是现代逻辑学与数学交叉的核心学科,以严格的数学方法研究逻辑推理的形式与规律。其发展深刻影响了数学基础、计算机科学、语言哲学等领域。以下从多个维度综论数理逻辑: 1. 核心分支 命…...
OpenCV 模板匹配方法详解
文章目录 1. 什么是模板匹配?2. 模板匹配的原理2.1数学表达 3. OpenCV 实现模板匹配3.1基本步骤 4. 模板匹配的局限性5. 总结 1. 什么是模板匹配? 模板匹配(Template Matching)是计算机视觉中的一种基础技术,用于在目…...
一键解锁Landsat 9地表温度计算!ENVI与ArcGIS Pro全流程详解(无需NASA大气校正)
为什么选择Landsat 9的L2SP数据? 之前:《ArcGIS与ENVI——基于landsat与Modis影像的遥感技术的生态环境质量评价》,基于Landsat前期的产品计算温度反演数据需要一系列复杂的步骤。 现在: Landsat 8-9的Collection 2 Level-2&…...
RK3588的linux下实现HDMI输出分辨率及帧率的裁剪
bug反馈:客户现场反馈hdmi接显示屏出现概率性闪黑屏,排除线材,显示屏及GND等外部因素后,提出尝试降低hdmi的输出分辨率和帧率对比测试看看。 Step1:先直接在linux的sdk中找到板卡编译生成后的dts找到hdmi节点 然后找到…...
XR技术赋能艺术展演|我的宇宙推动东方美学体验化
本次广州展览现场引入我的宇宙XR体验模块,通过空间计算与动作捕捉技术,让观众在潮玩艺术氛围中体验虚拟互动,打造“看得懂也玩得动”的展演新场景。 作为科技与文化融合的推动者,我的宇宙正在以“体验科技”为媒介,为潮…...
多线程进阶知识篇(二)
文章目录 一、Synchronized 锁二、ReentrantLock 锁三、两阶段终止阶段一:通知终止阶段二:响应中断 四、线程池为什么要使用线程池?如何创建线程池?ExecutorsThreadPoolExecutor 线程池的基本参数 五、线程池处理任务的流程 一、S…...
Python深度学习基础——深度神经网络(DNN)(PyTorch)
张量 数组与张量 PyTorch 作为当前首屈一指的深度学习库,其将 NumPy 数组的语法尽数吸收,作为自己处理张量的基本语法,且运算速度从使用 CPU 的数组进步到使用 GPU 的张量。 NumPy 和 PyTorch 的基础语法几乎一致,具体表现为&am…...
简单实现单点登录
单点登录 单点登录(Single Sign-On, SSO) SSO是一种统一身份认证技术,用户只需在认证平台登录一次,即可访问所有关联的应用程序或网站,无需重复输入凭据。例如,企业员工登录内部系统后,可直接…...
c++基础三
1.继承 继承表示,子类可以获取父类的属性和方法,然后可以写子类独有的属性和方法,或者修改父类的方法。类可以继承父类的公共成员(public),但不能继承私有成员(private),私有成员只能在父类内部访问。 1.1 案例一单继承 #include <iostream>using namespace …...
如何将自己的项目推送到GitHub上面去
将项目推送到GitHub的流程总结 以下是将本地项目推送到GitHub仓库的完整流程: 1. 初始化Git仓库(如果尚未初始化) cd 项目目录 git init2. 配置远程仓库 # 添加远程仓库地址 git remote add origin https://github.com/用户名/仓库名.git…...
Java动态批量生成logback日志文件
应用场景举个例子: 当我一个服务需要启动n个端口,来监听n个来源的数据,并且处理数据逻辑一致;但是我想要它们的日志分开文件夹来打印,从而更好的分析问题,那么就可以用我下面提供的模版了; 动态…...
02、GPIO外设(一):基础知识
基础知识 1、ZET6的引脚分布2、引脚输出3、引脚输入4、最大输出速度 1、ZET6的引脚分布 下面使用C8T6的引脚来类比ZET6的引脚,ZET6中的特殊功能引脚和C8T6的特殊功能引脚是一样。而通用IO引脚比C8T6多而已。下面的C8T6的特殊功能引脚的介绍: STM32F103C8…...
智能Todo协作系统开发日志(二):架构优化与安全增强
📅 2025年4月14日 | 作者:Aphelios380 🌟 今日优化目标 在原Todo单机版基础上进行三大核心升级: 组件化架构改造 - 提升代码可维护性 本地数据加密存储 - 增强隐私安全性 无障碍访问支持 - 践行W3C标准 一、组件化架构改造 …...
【C++初阶】第14课—缝合怪deque和优先队列、仿函数
文章目录 1. 双端队列deque1.1 认识deque1.2 deque的迭代器1.3 deque的常用接口1.4 deque的优缺点 2. 优先队列priority_queue2.1 认识priority_queue2.2 模拟实现优先队列priority_queue 3. 仿函数 在学习deque之前,回顾一下vector和list各自的优缺点 数据结构优点…...
方德桌面操作系统V5.0-G23安装Docker并配置DockerHub镜像加速器
为什么要使用debina的docker源,因为查询os-release和uname 显示是基于debina 11的操作系统 rootyuhua-virtualmachine:~# cat /etc/os-release NAME"方德桌面操作系统" NAME_EN"NFSDesktop" VERSION"5.0" VERSION_ID"5.0"…...
parameter和localparam的区别(verilog中)
在Verilog中,parameter 和 localparam 都用于定义常量,但是它们之间有一些重要的区 作用范围: parameter:可以在模块外部被修改或重定义。它可以被作为模块的参数传递给其他模块,因此具有较广泛的作用范围,…...
紫光同创FPGA实现HSSTLP光口视频点对点传输,基于Aurora 8b/10b编解码架构,提供6套PDS工程源码和技术支持
目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目紫光同创FPGA相关方案推荐我这里已有的 GT 高速接口解决方案Xilinx系列FPGA实现GTP光口视频传输方案推荐Xilinx系列FPGA实现GTX光口视频传输方案推荐Xilinx系列FPGA实…...
数字孪生城市技术应用典型实践案例汇编(22个典型案例)(附下载)
近年来,数字孪生技术在我国从战略框架逐步向系统性落地推进,成为推动数字中国建设的重要技术引擎。随着《数字中国建设整体布局规划》《"十四五"数字经济发展规划》《深化智慧城市发展推进城市全域数字化转型的指导意见》等政策的实施…...
主流物理仿真引擎和机器人/强化学习仿真平台对比
以下是当前主流的物理仿真引擎和机器人/强化学习仿真平台的特点和适用场景,方便根据需求选择: 🧠 NVIDIA 系列 ✅ Isaac Lab v1.4 / v2 特点: 基于 Omniverse Isaac Sim,属于高端视觉机器人仿真框架v2 更加模块化&a…...
Hyperf (Swoole)的多进程 + 单线程协程、Gin (Go)Go的单进程 + 多 goroutine 解说
1. 核心概念解析 (1) Hyperf (Swoole): 多进程 单线程协程 Swoole 并发模型详解 Swoole 的并发模型基于多进程架构,每个进程是单线程的,线程内运行多个协程。以下是其结构的关键点: 多进程:Swoole 应用程序启动时,…...
