排序
K8s 运维系列 | 第 5 天:Service 与 Ingress——服务发现与流量接入
在 Kubernetes 的世界里,Pod 是脆弱的、临时的、会被频繁重建的。每次 Deployment 滚动更新、节点故障、甚至一次简单的扩容,Pod 的 IP 地址都可能发生变化。如果业务系统直接依赖 Pod IP 来通...
K8s 运维系列 | 第 7 天:存储管理——PV、PVC 与持久化存储
容器天生是「无状态」的,一旦 Pod 被销毁或重建,容器内部写入的文件都会随之消失。但在真实的业务场景中,数据库、消息队列、日志系统、文件上传服务等应用,都必须把数据持久地保存下来,即...
K8s 运维系列 | 第 29 天:生产实践——K8s 上运行数据库与中间件
引言 Kubernetes(K8s)的核心优势在于编排无状态的容器化应用,但当业务落地到生产环境,几乎不可避免地要面对有状态服务:关系型数据库(MySQL、PostgreSQL)、缓存(Redis)、消息队列(Kafk...
K8s 运维系列 | 第 11 天:权限安全——RBAC 与 ServiceAccount
引言 在 Kubernetes 集群中,随着业务规模不断扩大,越来越多的人和程序需要访问集群资源。有人需要部署应用、有人需要查看日志、有人只需要读取监控指标,而自动化流水线(CI/CD)也需要调用 A...
K8s 运维系列 | 第 12 天:证书与多集群——kubeconfig 与集群切换
在生产环境里,运维人员很少只面对一个 Kubernetes 集群。开发、测试、预发、生产,再加上不同机房或云厂商的集群,少则两三个,多则十几个。面对这么多集群,如何安全地保存访问凭证、如何在它...
K8s 运维系列 | 第 23 天:扩展开发——CRD 与 Operator 模式
在掌握了 Deployment、StatefulSet、Service、Ingress、Helm 等内置对象之后,很多运维工程师会问一个更深层的问题:当 Kubernetes 内置的能力不够用时,我们还能做什么?答案就是 Kubernetes ...
Ubuntu 运维系列 | 第 21 天:Docker Compose 与容器编排实战
在前一篇文章中,我们完成了 Docker 的安装与容器生命周期管理,掌握了 docker run、docker ps、docker logs 等基础命令。但在真实的生产环境中,一个应用往往由多个服务组成:Web 服务、数据库...
K8s 运维系列 | 第 16 天:工作负载进阶——StatefulSet、DaemonSet 与 Job
在前面的文章中,我们重点学习了 Kubernetes 中最常见的无状态工作负载 Deployment,它凭借 ReplicaSet 与滚动更新机制,成为了绝大多数 Web 应用部署的首选。然而真实的生产环境远比'无状态服...
K8s 运维系列 | 第 27 天:GitOps 实践——Argo CD 声明式部署
引言 在上一篇我们讨论了 Jenkins 与 GitLab CI 如何把镜像构建、部署到集群,本质上是「Push 模式」——CI 主动把资源推到 K8s。但当集群规模扩大、环境变多、审批链路变长之后,Push 模式会逐...
K8s 运维系列 | 第 13 天:日志体系——Loki 与 EFK 日志采集分析
在 Kubernetes 集群中,Pod 随时可能被调度、重启或销毁,容器产生的日志如果只保存在本地文件里,会随着容器的生命周期一起消失。当线上出现故障时,运维人员往往需要在成百上千个 Pod 之间来...
K8s 运维系列 | 第 14 天:监控告警——Prometheus 与 Grafana 监控集群
Kubernetes 集群一旦投入生产,规模会迅速膨胀:成百上千的 Pod、分布在多台节点上的 Service、频繁变动的 Deployment,都让「集群是否健康」成为一个必须回答的问题。单纯靠 kubectl get 手工...
K8s 运维系列 | 第 17 天:高可用集群——etcd 与控制平面 HA 部署
在生产环境中,单台 Master 节点往往是整个 Kubernetes 集群的致命单点。一旦这台节点宕机,kubectl 无法下发指令、调度器停止工作、整个集群陷入'失联'状态。本篇文章我们就从零开始,深入讲解...




