Kubernetes 核心功能学习文档 涵盖:服务注册、服务发现、负载均衡、配置管理、存储管理、健康检查、自动扩缩容、RBAC、多命名空间隔离 每节包含:原理讲解、使用方式(含 YAML 示例)、典型场景/案例 0. 全局背景:为什么需要这些机制 Kubernetes(简称 k8s)是一个容器编排平台,核心目标是把一堆"随时可能死掉、随时可能漂移到别的机器上"的容器(Pod),管理成一个稳定、可自愈、可伸缩的分布式系统。 它要解决的根本问题是: Pod 是临时的、IP 会变、数量会变,但访问它的人不希望关心这些细节 。下面的每一个功能,几乎都是围绕这个核心矛盾展开的。 1. 服务注册(Service Registration) 原理 在 k8s 里,"服务注册"不是一个独立动作,而是 自动完成 的: 每个 Pod 启动后,kubelet 会向 API Server 上报自己的状态(IP、所在节点、是否 Ready)。 API Server 把这些信息写入 etcd (k8s 的分布式键值存储,相当于整个集群的"数据库")。 当你创建一个 Service 资源,并用 selector (标签选择器)指定它要代理哪些 Pod 时,控制平面里的 Endpoint Controller 会持续监听(watch)匹配该 selector 的 Pod,把它们的 IP:Port 写入一个叫 Endpoints (或新版的 EndpointSlice )的对象里。 也就是说: Pod 通过打标签"自动注册"到 Service 上 ,不需要像传统微服务架构(如 Eureka、Consul)那样,应用代码里手写"启动时向注册中心汇报"的逻辑。 怎么用 apiVersion: apps/v1 kind: Deployment metadata: name: order-service spec: replicas: 3 selector: matchLabels: app: order-service template: metadata: labels: ...
Vue 入门指南(面向 Claude Code 开发者) 写给已经掌握 JS / HTML / CSS 基础、但没接触过任何前端框架的你。这篇文档会先带你把一个项目"跑起来",再逐步讲概念,尽量少跳步骤。 一、为什么需要 Vue:从一个具体问题说起 假设你要用原生 JS 做一个计数器:一个数字,一个"+1"按钮,点一下数字加一。原生写法大致是这样的思路: 用 document.getElementById 或类似方法,先"抓到"页面上显示数字的那个元素; 定义一个变量存当前的数字; 给按钮绑定点击事件,点击时变量加一; 再手动把这个变量的新值,写回刚才抓到的那个元素里 (比如 .innerText = 新值 )。 问题出在第 4 步: 数据变了,你必须自己记得去更新对应的 DOM 。页面简单时还好,一旦页面上有几十个地方的内容依赖同一批数据,你就要在每个数据变化的地方,手动更新一堆 DOM 元素,非常容易漏改、改错。 Vue 做的事情就是把第 4 步接管过去:你只要告诉 Vue "这个数字应该显示在这里",之后每次数字变化, Vue 自动帮你把页面对应的部分更新掉 ,你不用再手写这一步。这就是"响应式"和"声明式渲染"两个词想表达的意思——你只声明"结果应该是什么样",不用管"怎么一步步改出来"。 记住这个对比,后面所有概念都是围绕"如何声明数据、如何声明界面"展开的。 二、开发环境与项目是怎么跑起来的 在讲语法之前,先搞清楚一个 Vue 项目从零到能在浏览器里看到效果,中间发生了什么。这一步很多教程会跳过,但恰恰是最容易让人懵的地方。 1. 需要先装好的东西 Node.js :一个能让 JS 脱离浏览器、在电脑上直接运行的环境。前端的各种工具(包括创建项目的脚手架)本质上都是用 JS 写的小程序,需要靠 Node.js 来运行。装好后,终端里可以运行 node -v 查看版本确认装好了。 npm :随 Node.js 一起安装的"包管理工具",作用是下载别人写好的代码库("包"),并帮你管理项目依赖了...