本周系统设计复习:
- 并发 vs. 并行!
- 版本号是什么意思?
- 找工作?这个免费 AI 工具可以让你获得更多面试!
- 网络安全 101 一张图
- 什么是 k8s(Kubernetes)?
语义化版本(SemVer)
语义化版本是一个软件版本方案,旨在传达关于版本中底层变化的含义。
SemVer 使用三部分版本号:MAJOR.MINOR.PATCH
- MAJOR 版本:当有不兼容 API 变化时递增
- MINOR 版本:当以向后兼容方式添加功能时递增
- PATCH 版本:当进行向后兼容的 bug 修复时递增
示例工作流
初始开发阶段
- 从版本 0.1.0 开始
首次稳定发布
- 达到稳定版本:1.0.0
后续变化
- Patch 发布:1.0.0 需要 bug 修复。更新到 1.0.1
- Minor 发布:新的向后兼容功能添加到 1.0.3。更新到 1.1.0
- Major 发布:1.2.2 中引入不向后兼容的重大变化。更新到 2.0.0
特殊版本和预发布
- 预发布版本:1.0.0-alpha、1.0.0-beta、1.0.0-rc.1
- 构建元数据:1.0.0+20130313144700
网络安全 101
网络安全介绍
网络安全是保护系统、网络和数据免受数字攻击的实践。
CIA 三要素
- 机密性(Confidentiality):确保信息仅对授权人员可访问
- 完整性(Integrity):维护数据的准确性和完整性
- 可用性(Availability):确保授权用户需要时可以访问信息
常见网络安全威胁
- 恶意软件
- 网络钓鱼
- 勒索软件
- DDoS 攻击
- 中间人攻击
基本防御机制
为对抗这些威胁,采用几种基本防御机制:
- 防火墙:监控和控制进出网络流量的网络安全设备
- 杀毒软件:设计用于检测和移除恶意软件的程序
- 加密:将信息转换为代码以防止未经授权访问的过程
网络安全框架
- NIST 网络安全框架
- ISO 27001
- CIS Controls
Kubernetes(k8s)简介
k8s 是一个容器编排系统。它用于容器部署和管理。它的设计深受 Google 内部系统 Borg 的影响。
k8s 集群架构
k8s 集群由一组工作机器(称为节点)组成,运行容器化应用。每个集群至少有一个工作节点。
工作节点托管 Pods,这是应用工作负载的组件。控制平面管理工作节点和集群中的 Pods。在生产环境中,控制平面通常在多台计算机上运行,集群通常运行多个节点,提供容错和高可用性。
控制平面组件
API 服务器
- API 服务器与 k8s 集群中的所有组件对话
- 对 Pod 的所有操作都通过与 API 服务器对话执行
调度器
- 调度器监视 Pod 上的工作负载
- 在新创建的 Pod 上分配负载
控制器管理器
- 控制器管理器运行控制器
- 包括 Node Controller、Job Controller、EndpointSlice Controller 和 ServiceAccount Controller
etcd
- etcd 是键值存储,用作 Kubernetes 所有集群数据的备份存储
节点组件
Pods
- Pod 是一组容器,是 k8s 管理的最小单位
- Pod 有一个 IP 地址应用于 Pod 内的每个容器
Kubelet
- 在集群中每个节点上运行的代理
- 确保容器在 Pod 中运行
Kube Proxy
- kube-proxy 是在集群中每个节点上运行的网络代理
- 它路由来自服务的进入节点的流量
- 它将对工作的请求转发到正确的容器
本文为学习目的的个人翻译,译文仅供参考。
原文链接:EP120: What do version numbers mean?。
版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。