DevOps

DevOps

Prometheus 与 Grafana 监控

Prometheus 的数据模型由四个部分组成: 完整表示形式: Prometheus 采用主动拉取(pull)模型,区别于大多数监控系统的推送模型: 1. 被监控目标暴露 HTTP /metrics 端点,返回 Prometheus 文本格式数据 2. Prometheus Server 按照配置的 scrape_interval 定期访问该端点 3. 抓取到的数据存入本地 TSDB(时序数据库) 4. 通过 evaluation_interval 周期性执行告警规则 优势:Prometheus 侧控制采集频率,目标无需知道 Prometheus 存在

By yellowdog

DevOps

Kubernetes 进阶

访问模式(accessModes) PV 回收策略(persistentVolumeReclaimPolicy) 无需管理员手动创建 PV,PVC 通过 storageClassName 指定 StorageClass,控制器自动创建匹配的 PV。 Ingress 是集群入口的 HTTP/HTTPS 路由规则,需要配合 Ingress Controller(如 Nginx Ingress)使用。Ingress Controller 本身作为 Deployment 运行在集群中,监听 Ingress 资源变化并动态配置反向代理。 Ingress YAML

By yellowdog

DevOps

Kubernetes 基础

Kubernetes 集群由两类节点组成:Control Plane(控制平面)和 Worker Node(工作节点)。 Control Plane 组件 Worker Node 组件 生产环境推荐声明式,便于版本控制和 GitOps 工作流。 列出资源对象。 查看资源详情及事件(排查问题的首选命令)。 将 YAML/JSON 清单应用到集群(声明式更新)。 删除资源对象。 查看 Pod 中容器的日志。 在运行中的容器内执行命令。 将本地端口转发到 Pod 端口,常用于本地调试。 调整 Deployment/StatefulSet/ReplicaSet

By yellowdog

DevOps

Git 进阶指南

最后更新:2026-03-31 相关文档:GitHub Actions完全指南(/github-actions-wan-quan-zhi-nan/) Docker Compose完全指南(/docker-compose-wan-quan-zhi-nan/) Git 用四种不可变对象存储数据: rebase 交互界面可用命令: 在同一仓库同时工作在多个分支,无需切换: 钩子脚本放在 .git/hooks/ 目录下,可执行文件。 reset --hard 会重写历史,推送后需要 force push,会破坏其他人的本地仓库。已推送的提交应使用 revert。

By yellowdog

DevOps

Docker 初级指南

Docker 是一个开源的容器化平台,允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,在任何环境中一致地运行。 Image(镜像) 镜像是一个只读的模板,用于创建容器。它包含了运行应用所需的所有文件:操作系统文件、运行时、库、配置等。镜像采用分层结构,每一层都是只读的。 Container(容器) 容器是镜像的运行实例。在只读的镜像层之上,容器有一个可读写层。容器之间相互隔离,但共享宿主机的操作系统内核。容器停止后其可写层数据默认消失(需要卷来持久化)。 Registry(仓库) Registry 是存储和分发镜像的服务。常见的 Registr

By yellowdog

DevOps

Docker 中级指南

本文面向已掌握 Docker 基础操作的读者,系统讲解 Dockerfile 指令全集、多阶段构建、Docker Compose 完整配置、构建最佳实践、数据管理、网络进阶、日志管理与资源限制。 FROM 是每个 Dockerfile 的起点,声明基础镜像。 语法 参数 scratch 基础镜像 scratch 是 Docker 内置的空镜像,不包含任何文件系统内容。适用于完全静态编译的二进制文件(如 Go 程序)。 ARG 与 FROM 联动 ARG 在 FROM 之前声明时,作用域仅限于 FROM 指令本身,不会传入后续构建阶段。若要在构建阶段内继续

By yellowdog

DevOps

Docker Compose 完全指南

Docker Compose 是用于定义和运行多容器应用的工具。用一个 compose.yaml 文件描述所有服务、网络、存储卷,一条命令启动整个应用。 推荐使用 compose.yaml(新规范),也兼容 docker-compose.yml(旧版)。 使用 .env 文件存储敏感信息,并将 .env 加入 .gitignore: depends_on 只等待容器启动,不等待服务实际就绪(如 PostgreSQL 接受连接)。必须配合 healthcheck + condition: service_healthy 使用。 同一 compose 内的服

By yellowdog

DevOps

Ansible 完全指南

Ansible 通过 SSH 连接被管理节点,无需在目标机器上安装任何代理程序。控制节点(安装 Ansible 的机器)直接通过 SSH 执行任务,任务完成后不留任何持久进程。 核心特性: 动态 Inventory 通过可执行脚本或插件从外部系统(AWS、GCP、CMDB)动态获取主机列表。 aws_ec2.yml 示例: Task 字段说明: 基于 Jinja2 模板引擎渲染文件,支持变量、条件、循环。 模板文件示例(templates/nginx.conf.j2): apt 模块 state 字段: 优先级越高,值越能覆盖低优先级的同名变量: gro

By yellowdog