K8s 小白入门|从电影配乐谈起,聊聊容器编排和 K8s

news2024/7/6 17:40:55

来听听音乐

电影,是我们生活中的重要调味剂。

配乐,是电影中不可或缺的一部分。

有的时候,配乐可以跟剧情共振,让你按捺不住自己的情绪,或眼含热泪、或慷慨激昂、或人仰马翻、或怅然若失;

有的时候,音乐竟然成为电影的主题,《音乐之声》、《海上钢琴师》、《波西米亚狂想曲》、《爱乐之城》、还有你的《Once》…

那么,你或许好奇:电影的配乐是怎么制作的?

通常来说,电影配乐流程主要包括定点(Spotting)、音画对位(Syncing)、制作打点轨道(Click Track)、作曲(Writing,此阶段通常只写出缩谱)、录音(Recording)等。

Spotting、Syncing、Click Track 等最终是为了让音乐可以“无缝”的融合到剧情中。

而 Writing 主要由作曲家根据粗剪画面进行创作。

原始曲谱是这样的:

配器后录音是这样的:

后期合成到电影里是这样的:


你应该感受到了,原始曲子跟最终配乐还是有很大差距的,在 Writing 跟 Recording 中间好像缺少了什么东西。

对,配器,就是综合运用各种乐器,使得原始曲子的情感更加饱满,以便进一步烘托剧情。

配器,英文名称叫 Orchestration。

你可能意识到我要聊啥了,

对,聊啥音乐啊,聊容器编排(Container Orchestration)。

云到底是如何构建的?

互联网,是我们生活中重要的调味剂。

云计算,是互联网不可或缺的一部分。

曾几何时,云计算还是个新兴概念,各路大佬或开口必言、或嗤之以鼻、或故作中肯、或一马当先;

事到如今,云计算已成为基础设施,刷抖音、看小红书、发 Tweet、秀公里数、还有你的 Soul…

那么,你或许好奇,云到底是如何构建的?

通常来说,搭建一朵云包括选址、拿批文、买地、盖机房、拉电线、拉网线、装空调、买机架,这些完工后就有了一个 IDC;之后是买机器、插电、连网、装机、虚拟化,这些完工后就有了一个 IaaS。

基础设施的变革,催生了上层多种新的技术的演进或诞生,DevOps、Microservice、Container、IaC等等。其中 Container 的出现彻底解决了应用对环境的依赖问题,毫不夸张的说,Container 使得应用与环境彻底解耦,从而使得基础设施可以“无差别”将所有应用进行统一管理,这无疑使得规模化的管理应用成为可能。

而这样的管理平台便应运而生,Apache Mesos, Docker Swarm, Kubernetes, Nomad, Amazon ECS, Microsoft Azure Container Service, Red Hat OpenShift 等等。计算机领域喜欢从别的领域借鉴概念,所以这次借鉴音乐中的配器,我们把容器管理行为称为编排(Orchestration)。
总之,云计算、容器化使得编排成为必然。

那么,容器编排包含哪些内容?

“容器编排”(Container Orchestration)是一种自动化容器生命周期管理的过程,主要处理的是在大型系统和动态环境中部署、管理和扩展容器的过程。容器编排提供了一种管理和协调容器化应用程序及其依赖关系的方式,同时确保它们在安全、高效和可靠的情况下运行。在云计算和微服务架构的背景下,容器编排成为了非常关键的一环。以下是一些容器编排的主要功能:

  1. 部署和更新:容器编排系统可以自动化地部署和更新容器。这意味着当你需要部署新的服务或者更新现有的服务时,只需要通过编排系统的API或者界面,就可以轻松地完成部署和更新的过程。
  2. 自动扩展:容器编排系统可以根据系统的负载自动增加或减少容器的数量。例如,如果系统的负载增加,编排系统可以自动启动更多的容器来处理增加的请求;反之,如果系统的负载减少,编排系统可以关闭一些不必要的容器,以节省资源。
  3. 服务发现和负载均衡:容器编排系统通常会为容器提供服务发现和负载均衡的功能。这意味着在有多个容器提供相同服务的情况下,这些系统可以自动地将请求平均分配给各个容器,以防止某个容器过载。
  4. 健康检查和故障恢复:如果一个容器出现问题,容器编排系统可以自动检测到,并采取相应的措施,如重启该容器,或者将请求转发到其他健康的容器。
  5. 资源管理:容器编排系统还可以管理系统的资源,如CPU、内存、网络和存储等。它可以根据容器的需求和系统的可用资源,智能地分配资源给各个容器。
  6. 日志和监控:通过收集和分析容器的日志和指标,容器编排系统可以帮助开发者和运维人员了解系统的状态和性能,及时发现并解决问题。
    容器编排是现代云原生架构的关键组成部分,对于构建和管理依赖于容器化的复杂分布式应用程序至关重要。

那么,最流行的容器编排工具是哪个?

Kubernestes: 生产可用的容器编排工具

K8s 设计理念是怎样的?

Kubernetes 的设计理念是将容器化应用程序的部署、扩展和管理自动化,从而提高生产效率和应用程序的可靠性。以下是 Kubernetes 设计理念的主要特点:

  1. 自我修复:Kubernetes 可以自动检测和修复应用程序的故障,包括容器崩溃、节点故障和网络问题等。这可以最大程度地减少手动干预的需要,提高应用程序的可靠性。
  2. 自动扩展:Kubernetes 可以根据需求自动扩展应用程序,以适应变化的负载。这可以提高资源利用率,同时确保应用程序的性能和可靠性。
  3. 声明式配置:Kubernetes 使用声明式配置模型,允许用户指定应用程序的期望状态,而不是手动指定如何达到该状态。这可以提高应用程序的可重复性和一致性,并减少配置错误的风险。
  4. 服务发现和负载均衡:Kubernetes 提供了内置的服务发现和负载均衡功能,允许应用程序动态地发现和连接到其他组件,并根据负载均衡算法分配流量。
  5. 滚动更新:Kubernetes 可以支持滚动更新容器化应用程序,以最小化停机时间,并确保新版本的应用程序平稳而安全地部署。
  6. 可扩展性:Kubernetes 的设计允许它在大规模集群中运行,并支持插件式架构,使用户可以根据需要扩展其功能。

总的来说,Kubernetes 的设计理念是将容器化应用程序的部署、扩展和管理自动化,从而提高生产效率和应用程序的可靠性。Kubernetes 提供了丰富的特性和功能,使其成为一种流行的容器编排工具。

为什么 K8s 采用声明式 API?

Kubernetes 被设计为一个管理容器化应用的声明式系统。这意味着 Kubernetes 使用声明式方法,让用户指定系统的期望状态,然后自动将实际状态与期望状态进行协调,而不是提供一套命令式的系统管理命令。

Kubernetes 被设计为声明式系统有几个原因:

  • 简洁性:声明式系统通常比命令式系统更简单、更易用,因为它们允许用户专注于指定系统应做什么,而不是如何去做。

  • 幂等性:声明式系统比命令式系统更具幂等性,这意味着它们可以多次运行而不改变系统状态。这使得管理复杂系统更容易,并且减少了错误和不一致的风险。

  • 可预测性:声明式系统比命令式系统更可预测,因为它们提供了一种清晰且一致的方式来指定系统的期望状态。这使得理解和排除系统故障变得更容易。

  • 自动化:声明式系统比命令式系统更适合自动化,因为它们允许用户以机器可读的格式指定系统的期望状态,便于自动化工具处理。

  • 可扩展性:声明式系统比命令式系统更具可扩展性,因为它们允许用户在不需要手动指定所有系统配置细节的情况下,管理具有大量资源和依赖关系的复杂系统。

总体而言,Kubernetes 使用的声明式方法已被证明是一种强大且有

声明式 Operator 实现起来感觉比命令式的 workflow 难?

实现声明式 Operator 确实需要一定的学习和开发成本,但它们通常比命令式的工作流更加灵活和可维护。

命令式工作流通常需要编写一系列脚本或命令来定义应用程序的部署和管理流程。这些工作流通常是基于特定的环境和应用程序的需求编写的,因此它们可能不具备通用性和可重复性。此外,这些脚本和命令通常难以维护,因为它们与环境和应用程序的状态紧密耦合,需要频繁地更新和调整。

相比之下,声明式 Operator 可以更好地解决这些问题。声明式 Operator 以 Kubernetes 对象的形式定义应用程序的状态和期望结果,而不是直接定义执行的步骤。这样,声明式 Operator 可以更好地实现应用程序的可重复性和一致性,并支持更灵活的自动化应用程序管理。

此外,声明式 Operator 还支持自我修复和自我调整,这可以减少手动干预的需要,提高应用程序的可用性和可靠性。

总的来说,声明式 Operator 确实需要一定的学习和开发成本,但它们通常比命令式的工作流更加灵活和可维护,可以提高应用程序的可重复性和一致性,并支持更高级别的自动化应用程序管理。

以上便是 AIGC 给的答案了。

终章

你的应用代码犹如曲谱,K8s 是目前最好的配器师,经过它的编排,你的应用将演奏出一曲优美的乐章。

End

KubeBlocks 已发布 v0.8.0!KubeBlocks v0.8.0 推出了 Component API,让数据库引擎的组装变得更加简单。Addon 机制也有了重大改进,数据库引擎的 helm chart 从 KubeBlocks repo 中拆分出去,从此数据库引擎或者版本的变动已与 KubeBlocks 发版解绑。v0.8.0 还支持多版本的数据库引擎定义。Pika、ClickHouse、OceanBase、MySQL、PostgreSQL、Redis 等均有功能更新,快来试试看!

小猿姐诚邀各位体验 KubeBlocks,也欢迎您成为产品的使用者和项目的贡献者。跟我们一起构建云原生数据基础设施吧!

💻 官网: www.kubeblocks.io

🌟 GitHub: https://github.com/apecloud/kubeblocks

🚀 Get started: https://kubeblocks.io/docs/preview/user_docs/try-out-on-playground/try-kubeblocks-on-your-laptop

关注小猿姐,一起学习更多云原生技术干货。

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

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

相关文章

探索研究大语言在生物识别技术——使用ChatGP-4从完成从人脸识别到年龄估计

0.引言 论文提出以下几要点: (1). 人脸识别、性别检测和年龄估计的性能评估: 进行了一项研究,使用GPT-4这样的大型语言模型来处理人脸识别、性别检测和年龄估计等任务。这些任务是生物识别技术中的常见应用&#xff…

深入分析 Android Activity (十)

文章目录 深入分析 Android Activity (十)1. Activity 的资源管理1.1 使用资源 ID 访问资源1.2 Drawable 资源1.3 使用 TypedArray 管理资源1.4 使用资源配置 2. Activity 的数据存储2.1 SharedPreferences2.2 文件存储2.3 SQLite 数据库2.4 ContentProvider 3. Activity 的性能…

生产者延迟消息和重试机制

messageDelayLevel1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 延迟消息级别public PutMessageResult putMessage(final MessageExtBrokerInner msg) {//事务消息处理if (tranType MessageSysFlag.TRANSACTION_NOT_TYPE|| tranType MessageSysFlag.TRANSACT…

基于高光谱数据集的创新点实现-高斯核函数卷积神经网络

一、高光谱数据集简介 1.1 数据集简介 数据集链接在这:高光谱数据集(.mat.csv)-科研学术 数据集包含下面三个文件: 文件中包含.mat与.csv,145x145x220, 其实主要使用avirissub.csv文件,在代码上只是将mat文件转成了csv文件。具体avirissub.csv如下&am…

算法学习笔记(7.1)-贪心算法(分数背包问题)

##问题描述 给定 𝑛 个物品,第 𝑖 个物品的重量为 𝑤𝑔𝑡[𝑖−1]、价值为 𝑣𝑎𝑙[𝑖−1] ,和一个容量为 𝑐𝑎&…

【kubernetes】关于k8s集群如何将pod调度到指定node节点(亲和与反亲和等)

目录 一、调度约束 1.1K8S的 List-Watch 机制 ⭐⭐⭐⭐⭐ 1.1.1Pod 启动典型创建过程 二、调度过程 2.1Predicate(预选策略) 常见的算法 2.2priorities(优选策略)常见的算法 三、k8s将pod调度到指定node的方法 3.1指定…

白酒:传统产区的创新之路与品牌重塑

云仓酒庄豪迈白酒作为传统产区的品牌,面临着市场需求的不断变化和消费者口味的多样化。为了保持品牌竞争力和市场地位,传统产区需要不断创新和重塑品牌形象,以满足消费者的需求和期望。 首先,传统产区需要注重产品的品质和口感。品…

Owinps静态IP代理:跨境电商的优选解决方案

在快速发展的电子商务领域,尤其是跨境电商行业,网络的稳定性和安全性是成功经营的关键因素之一。在这背后,少不得一个重要的跨境电商工具——代理IP,而这其中,静态IP因其独特的稳定性和安全性,正逐渐成为众…

IC开发——Ubuntu安装VCS2018

1. 简介 VCS是一种常用的Verilog仿真和综合工具,由Synopsys公司开发。它提供了一个完整的设计验证环境,用于验证硬件设计的正确性和性能。以下是VCS工具的一些主要特点和功能: 仿真功能:VCS支持基于事件驱动的数字电路级仿真&am…

MySQL学习——连接服务器和输入查询

MySQL是一个流行的关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,后来被Oracle公司收购。它使用SQL(结构化查询语言)作为访问和操作数据库的标准语言。 要查看 mysql 客户端程序提供的选项列表&a…

合约的值类型

基本数据类型:整数、枚举、布尔(类似java的数据类型)Address、Contract(这两种是solidity特有的数据类型)Fixed byte array(定长字节数组) Integer(int/uint) int/uint 以8位字节递增&#xf…

硬盘有EFI分区格式化不了,也删不了怎么办,不能读取磁盘

问题:EFI为系统引导分区表明这是一块系统盘,常规操作无法格式化也无法删除,也不能读取 解决: 1.管理员运行cmd 2.输入diskpart 3.输入list disk 查看系统磁盘,并找到你格式化不了的那块磁盘 4.select disk 编号 选择…

【Go专家编程——并发控制——三剑客】

并发控制 我们考虑这么一种场景,协程在A执行过程中需要创建子协程A1、A2、A3…An,协程创建完子协程后就等待子协程退出。 针对这种场景,Go提供了三种解决方案: Channel:使用channel控制子协程 优点:实现…

【稳定检索】2024年核能科学与材料、物理应用国际会议(NESMPA 2024)

2024年核能科学与材料、物理应用国际会议 2024 International Conference on Nuclear Energy Science and Materials, Physical Applications 【1】会议简介 2024年核能科学与材料、物理应用国际会议即将拉开帷幕,这是一场汇聚全球核能科学、材料研究及物理应用领域…

全志T527 适配双目tp2815_mipi

一、硬件信息 TP2815: 确认硬件信息: 1、通信接口:TWI2总线,引脚组为PE1 、PE2 2、RESET脚: 二、软件配置 1、设备树 t527 dtsi: bsp/configs/linux-5.15/sun55iw3p1.dtsi t527 uboot-board.dts device/config/chi…

必看丨SSL证书是什么?怎么免费申请一张?

SSL证书是一种网络安全证书,它能帮助网站实现数据加密传输,保障用户信息在浏览器和网站服务器之间的安全交流。想象一下SSL证书就像一封密信的封蜡,确保信件内容在途中不会被他人偷看或篡改。 SSL证书的作用主要有两点: 1. 身份验…

gin框架精通篇(二)

原生数据库使用 导入模块:go get -u github.com/go-sql-driver/mysql 安装 mysql 数据库 安装数据库可能遇到的问题:(网上的方法基本可以解决) ERROR 1045 (28000): Access denied for user ‘-root’‘localhost’ (using passwo…

【leetcode2765--最长交替子数组】

要求:给定一个数组,找出符合【x, x1,x,x-1】这样循环的最大交替数组长度。 思路:用两层while循环,第一个while用来找到符合这个循环的开头位置,第二个用来找到该循环的结束位置,并比较一下max进行记录。 …

LLVM技术在GaussDB等数据库中的应用

目录 LLVM和数据库 LLVM适用场景 LLVM对所有类型的SQL都会有收益吗? LLVM在OLTP中就一定没有收益吗? GaussDB中的LLVM 1. LLVM在华为应用于数据库的时间线 2. GaussDB LLVM实现简析 3. GaussDB LLVM支持加速的场景 支持LLVM的表达式&#xff1a…

河南道路与桥梁乙级资质升级门槛条件解读

河南道路与桥梁乙级资质升级门槛条件解读如下: 一、企业基本条件 法人资格: 企业需具备独立企业法人资格,能够独立承担民事责任。注册资金: 企业的注册资金应不少于100万元人民币,这一数字直接体现了企业的经济实力和…