Pod、容器与 YAML 资源清单:从读懂配置到独立排查
本文是《K8s学习记录》系列第 03 篇。返回系列目录 · 上一章:使用 kind 创建本地集群 本章要完成什么上一章为了先跑通完整链路,我们直接使用了一份 Deployment 清单。它替我们创建和维护 Pod,但也让一些最基础的问题藏在了背后: Pod 和容器是不是同一个东西? YAML 中的 apiVersion、kind、metadata、spec 分别表示什么? kubectl get 中的 Running、1/1、RESTARTS 应该怎样解读? 应用启动失败时,应该先看状态、事件还是日志? kubectl exec 究竟做了什么,为什么不能靠进入容器手工改文件发布应用? 删除一个直接创建的 Pod,为什么这次不会自动恢复? 本章会从零编写一个独立 Pod,并围绕它完成查看、访问、日志和容器内排查。随后我们会主动制造镜像拉取失败和容器反复退出,练习建立证据链。 完成后,你应该能够: 用自己的话解释 Pod 与容器的关系; 读懂 Kubernetes 资源清单的通用结构; 使用 kubectl explain 查询字段,而不是靠记忆猜 YAML; 安全地预检、...
使用 kind 创建本地集群:从安装工具到访问第一个应用
本文是《K8s学习记录》系列第 02 篇。返回系列目录 · 上一章:Kubernetes 解决了什么问题 本章要完成什么上一章用 Docker 模拟了手工管理应用实例的过程。这一章,我们真正搭建一个 Kubernetes 集群,让第一章中的“控制平面、节点、Pod、控制循环”变成可以观察的对象。 本章的终点很具体:在自己的电脑上创建 k8s-lab 集群,部署一个叫 notes-app 的示例 Web 服务,并在浏览器中打开它。 完成后,你应该能够: 分清 Docker、kind、kubectl 各自负责什么; 创建集群,确认节点和系统组件已经就绪; 知道 kubectl 当前连接哪个集群,避免误操作其他环境; 把本机镜像导入 kind,通过 YAML 部署应用; 使用端口转发访问应用,通过状态、事件、日志排查问题; 安全保留或清理实验环境,知道后续学习 kubeadm 应该关注什么。 建议预留 90~120 分钟,首次下载工具和镜像的时间另计。第一次跟练完成第 1~8 节即可;多节点与 kubeadm 部分可以第二次再看。 阅读约定:所有终端命令都在你自己的电脑上执行,...
Kubernetes 解决了什么问题:从手工运维到容器编排
本文是《K8s学习记录》系列第 01 篇。返回系列目录 本章要解决的问题学习 Kubernetes 时,一个常见困惑是: Docker 已经可以运行容器了,为什么还需要 Kubernetes? 如果只运行一个博客、一个数据库或者一个本地开发环境,直接使用 Docker 完全没有问题。真正的困难通常出现在应用开始拥有多个实例、多个版本、多个节点,并且需要持续更新和故障恢复之后。 这一章不急着安装 Kubernetes,也不要求记住大量组件名称。我们先亲手管理几个 Docker 容器,观察手工运维会遇到什么问题,再看看 Kubernetes 如何把这些重复工作变成一套持续运行的自动化机制。 完成本章后,你应该能够: 说清楚容器运行时与容器编排平台的职责差异; 亲手启动、检查、删除、恢复和扩容多个 Docker 容器; 理解“期望状态”“实际状态”“声明式管理”和“控制循环”; 知道 Pod、Deployment、Service 各自负责什么; 描述控制平面和工作节点之间的大致协作过程; 判断一个项目是否真的需要 Kubernetes; 知道 Kubernetes 能解决什么...
K8s学习记录
写在前面这是一份面向 Kubernetes 初学者的系列学习记录,也是一张会持续更新的学习地图。 这个系列默认读者已经接触过 Linux 和 Docker,知道镜像、容器、端口映射、挂载等基本概念,但还没有系统使用过 Kubernetes。学习过程中不会按照资源对象逐个背诵字段,而是围绕一个小型 Web 应用,从“在本地跑起来”逐步演进到“能够稳定发布、扩缩容、持久化、观测和排查”。 本篇只承担系列导航和进度记录的职责。每个主题会单独成文,并在发布后补充链接。 学习目标完成这个系列后,我希望能够独立完成以下工作: 解释 Kubernetes 的核心架构,以及各组件分别解决什么问题; 使用 kind 创建可重复的本地实验集群,并熟练使用 kubectl; 编写和维护常见 Kubernetes YAML 资源清单; 部署 Web 应用,并通过 Service 和 Ingress 对外提供访问; 使用 ConfigMap、Secret 和持久卷管理配置与数据; 配置健康检查、资源限制、自动扩缩容和滚动发布; 使用 Namespace、ServiceAccount 和 RBAC 完成基...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment
