Kubernetes 是容器编排事实标准。它自动化容器化应用部署、扩展和管理。

Kubernetes 架构

控制平面(Control Plane)

  • API 服务器:作为用户、控制平面和工作节点之间通信枢纽
  • 调度器:决定哪个 Pod 运行在哪个节点
  • 控制器管理器:保持集群状态同步
  • etcd:分布式键值存储保存集群状态

工作节点(Worker Nodes)

  • Pods:Kubernetes 中最小可部署单元,表示一个或多个容器
  • 容器运行时:引擎(如 Docker 或 containerd)运行容器
  • kubelet:确保容器运行如 Pods 中定义
  • kube-proxy:处理 Pods 之间网络并确保通信

9 层现代软件栈

在当今世界,构建软件意味着工作跨多个层,每个有自己角色、工具和技术。这里是 9 层组成大多数现代应用:

  1. 表示层(UI/UX):处理用户如何与应用交互,聚焦视觉、布局和可用性
  2. 边缘和交付(可选):通过全球交付网络 bringing 内容更靠近用户,减少延迟并提高性能
  3. 集成层(API):定义系统不同部分如何通信,启用组件间互操作
  4. 消息和异步处理(可选):在后台处理任务和事件提高可扩展性和响应性
  5. 业务逻辑层:实现核心规则、工作流和应用决策过程
  6. 数据访问层:作为应用逻辑和存储数据之间桥梁,确保安全高效检索或更新
  7. 数据存储层:存储、组织和管理应用结构化和非结构化数据
  8. 分析和 ML(可选):分析数据生成洞察、预测和智能功能
  9. 基础设施层(托管/运行时):提供计算环境和资源用于部署、运行和扩展应用

并发不是并行

并发(Concurrency)

  • 设计方法任务可以开始、运行和完成在重叠时期,即使在单 CPU 核心
  • 关于管理多个任务在同一时间
  • CPU 快速切换在任务之间(上下文切换),创造幻觉任务在进步同时,虽然它们不是
  • 伟大用于涉及等待任务,如 I/O 操作
  • 允许其他任务在等待期间进步,提高整体效率

并行(Parallelism)

  • 指同时执行多个任务,使用多个 CPU 核心
  • 在重计算如数据分析或渲染图形卓越,任务可以分割和同时运行在不同核心
  • 需要硬件有多个处理单元
  • 主要目标是增加吞吐量和计算速度系统

它们如何一起工作

  • 虽然并发和并行是不同概念,它们密切相关
  • 良好设计并发程序可以扩展使用多个核心为并行当需要
  • 通过理解区别和相互作用之间并发和并行,我们可以设计更高效系统并创造更好性能应用

JWT vs. PASETO

JWT(JSON Web Tokens)

  • 开放标准用于安全传输信息在双方之间
  • 由头部、负载和签名组成
  • 可以用于实现无状态认证在客户端和服务器应用之间

PASETO(Platform-Agnostic Security Tokens)

  • JWT 现代替代
  • 通过实现安全默认解决 JWT 安全缺陷
  • 强制执行强、密码学健全算法,减少漏洞风险
  • 通常由版本、目的和负载组成
  • 两种类型
    • Public PASETO:使用非对称密码签名并确保数据完整性,但不保密性
    • Local PASETO:使用对称加密算法加密,确保令牌内数据保密性

Cron 速查表

Cron 是基于时间作业调度器允许用户自动化重复任务通过运行命令或脚本在指定间隔。它使用 Cron 表达式,语法定义调度,由五个字段组成(分钟、小时、日、月、工作日)。

Cron 广泛用途

  • 系统维护
  • 备份
  • 日志轮转
  • 自动化任务如发送邮件或运行脚本在规律间隔

Cron 速查表覆盖

  • Cron 格式
  • 一些 Cron 示例
  • 特殊 Cron 字符串
  • 特殊字符

AI 代理 vs. MCP

AI 代理

  • 软件程序可以与它环境交互、收集数据、使用数据实现预定目标
  • AI 代理可以选择最好行动执行满足那些目标
  • 关键特征
    • 可以执行自主行动没有持续人类干预
    • 也可以有人类在循环保持控制
    • 有记忆存储个人偏好允许个性化
    • 也可以存储知识
    • LLM 可以进行信息处理和决策功能
    • 必须能够感知和处理信息可用从它环境

MCP(Model Context Protocol)

  • Anthropic 介绍新系统使 AI 模型更强大
  • 开放标准允许 AI 模型(如 Claude)连接数据库、API、文件系统和其他工具没有需要自定义代码为每个新集成
  • 遵循客户端 - 服务器模型有 3 个关键组件:
    • Host:AI 应用如 Claude
    • MCP Client:组件在 AI 模型内(如 Claude)允许它与 MCP 服务器通信
    • MCP Server:中间人连接 AI 模型到外部系统

本文为学习目的的个人翻译,译文仅供参考。

原文链接:EP179: Kubernetes Explained

版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。