mason5052/production-kubernetes-devops-platform

GitHub: mason5052/production-kubernetes-devops-platform

一个横跨 AWS 基础设施、Kubernetes、CI/CD、GitOps、可观测性与安全自动化的生产级 DevOps/DevSecOps 工程实践作品集。

Stars: 0 | Forks: 0

# 生产级 DevOps 作品集:云平台与 DevSecOps 工程 横跨 AWS 基础设施、Terraform、Kubernetes、CI/CD、GitOps、Docker、可观测性、事件响应和安全自动化的云平台工程生产级 DevOps 作品集。 本仓库展示了我在生产级云和 Kubernetes 平台的完整 DevSecOps 路径上的工作:基础设施、CI/CD、安全闸门、GitOps 交付、运行时操作、可观测性、事件响应和审计证据。 ## DevSecOps 运营模型

Production DevSecOps operating model from change review through CI, security gates, artifact evidence, GitOps promotion, Kubernetes runtime, observability, incident response, and continuous improvement.

## 流水线职责图 | 流水线领域 | 此处展示的生产工作 | 仓库证据 | |---------------|----------------------------------|---------------| | 云基础 | AWS 基础设施、环境隔离、IAM 方向和成本优化。 | `examples/terraform/`, `docs/architecture.md` | | 源码到 CI | GitHub Actions 验证、Docker 构建、配置检查、镜像打标签和部署交接。 | `examples/github-actions/ci-cd.yml`, `docs/cicd.md` | | 安全闸门 | 容器扫描、IaC 审查、SBOM 方向、制品签名/来源方向以及异常处理。 | `examples/supply-chain/`, `examples/vulnerability-triage/` | | GitOps 交付 | ArgoCD 风格的期望状态交付、滚动状态检查以及支持回滚的发布实践。 | `examples/argocd/application.yaml`, `docs/cicd.md` | | Kubernetes 运行时 | Deployments、Services、Jobs、CronJobs、探针、资源、RBAC 和网络边界。 | `examples/kubernetes/`, `examples/policy-as-code/` | | 运营与响应 | Prometheus、Grafana、Alertmanager、CloudWatch、Runbook、事件分诊、WAF 调优和审计证据。 | `examples/monitoring/`, `docs/observability.md`, `docs/operations-and-dr.md` | | AI 时代的防护栏 | 针对 AI 辅助交付的人工审批、工具边界、审计日志和策略检查。 | `examples/ai-sdlc-control-plane/` | ## 生产成果 | 领域 | 生产摘要 | |------|--------------------| | 平台类型 | AWS 基础设施上的自管理 Kubernetes 平台。 | | 工作负载范围 | 支持跨云、平台、应用和自动化运营的 60 多个生产工作负载。 | | Kubernetes 范围 | 运营 40 多个 Kubernetes 托管的生产工作负载,并附带滚动验证、监控和 Runbook。 | | 可靠性 | 在所有支持的环境中保持 99% 以上的可用性。 | | 成本优化 | 通过平台设计和云优化,每年减少约 9.4 万美元的 AWS 基础设施成本。 | | 交付改进 | 通过 CI/CD 和部署自动化,将发布周期时间从数天缩短至数小时。 | | 安全改进 | 通过 AWS WAF 和安全控制改进,将恶意流量暴露减少 90% 以上。 | | 运营成熟度 | 通过监控、告警、证据和文档,改善了事件可见性、响应时间和审计响应速度。 | ## 生产职责 - 构建并运营生产级云和 Kubernetes 平台能力,而不仅仅是使用托管的应用程序托管服务。 - 使用 Terraform 模块标准化云基础设施配置,涵盖计算、网络、负载均衡、存储、IAM 和环境隔离。 - 设计包含 GitHub Actions、Docker 镜像构建、验证闸门、漏洞扫描、部署检查和受控滚动的 CI/CD 路径。 - 使用面向 GitOps 的交付方式,采用 ArgoCD 风格的期望状态配置,实现可重复的 Kubernetes 部署。 - 利用 Prometheus、Grafana、Alertmanager、CloudWatch、日志、仪表盘、告警和 Runbook 运营生产监控和事件响应。 - 通过 IAM 强化、Kubernetes RBAC、漏洞修复支持、WAF 调优、机密信息管理和审计就绪证据,改善安全态势。 - 将运营模型扩展至策略即代码、供应链信任和 AI 辅助交付治理。 - 支持跨云和 Kubernetes 环境的平台可靠性、成本优化、合规性响应和 Day-2 运营成熟度。 ## 运行时架构

Runtime architecture showing GitHub Actions delivery, Terraform-managed AWS foundation, Kubernetes workloads, metrics, logs, dashboards, alerts, and incident review.

## 平台层级详解 | 层级 | 职责 | 代表性工作 | |-------|----------------|---------------------| | 云基础 | AWS 计算、网络、存储、负载均衡、IAM 和环境边界。 | 使用 Terraform 配置和维护云资源,并标准化环境隔离。 | | Kubernetes 基础 | 集群生命周期、控制面操作、工作节点容量、namespace、RBAC、工作负载调度和滚动安全性。 | 运营自管理的 Kubernetes 工作负载,具备健康检查、容量审查和恢复实践。 | | 交付层 | GitHub Actions、Docker 构建、镜像发布、清单验证、部署自动化和 GitOps 同步。 | 构建带有验证闸门和支持回滚发布的、可重复的 CI/CD 工作流。 | | 运行时层 | Deployments、Services、Jobs、CronJobs、应用程序配置和健康检查。 | 支持 Web 服务、自动化作业、平台组件和内部服务。 | | 可观测性层 | 指标、仪表盘、告警、日志、事件审查和 Runbook。 | 将 Prometheus、Grafana、Alertmanager、CloudWatch 和日志连接到生产支持工作流中。 | | 安全层 | IAM 最小权限、RBAC、漏洞扫描、WAF 控制、机密信息管理和审计证据。 | 改善了访问边界、漏洞可见性,减少了恶意流量并提升了审计响应速度。 | | 治理层 | 策略即代码、供应链证据、风险接受和 AI SDLC 防护栏。 | 示例展示了保持更快交付可审计性的控制方向。 | ## Kubernetes 运营模型 该平台使用 Kubernetes 作为生产应用程序、自动化工作负载和共享平台服务的运行时基础。 | 能力 | 运营模型 | |------------|-----------------------------| | 工作负载隔离 | 使用 namespace 和 RBAC 来划分所有权和运营边界。 | | 滚动安全性 | 使用就绪检查、存活检查、滚动状态检查和回滚路径来减少失败部署的影响。 | | 运行时模式 | Deployments、Services、Jobs 和 CronJobs 支持长期运行的服务和定时自动化。 | | 容量管理 | 审查节点、pod、CPU、内存、磁盘和压力信号,以防止可避免的事件发生。 | | 运营支持 | 通过 Runbook 记录常见故障模式,并通过仪表盘和告警进行监控。 | | 生产规范 | 通过受控的源码和部署实践来管理机密信息、特定于环境的配置和部署清单。 | ## CI/CD 与发布流程 CI/CD 模型旨在减少手动部署工作、提高发布一致性,并在生产滚动前添加安全检查。

CI/CD release flow showing pull request, validation, test checks, security scans, image publishing, GitOps update, Kubernetes rollout, and monitoring.

### 标准流水线闸门 | 闸门 | 目的 | |------|---------| | 源码审查 | 确保变更是有意的、有范围的且可审查的。 | | 构建验证 | 确认应用程序或自动化制品可以可重现地构建。 | | 单元或冒烟测试 | 在上线前捕获基本缺陷。 | | 清单验证 | 尽早发现 Kubernetes YAML 和配置错误。 | | 容器扫描 | 在部署前识别高风险镜像漏洞。 | | SBOM 生成 | 为审计和修复工作流保留依赖项可见性。 | | 制品签名和来源 | 将发布的制品与源码、工作流和审批证据关联起来。 | | IaC 验证 | 在基础设施变更前减少 Terraform 语法和计划错误。 | | 镜像打标签 | 将部署的镜像关联回源码提交和部署事件。 | | 滚动状态 | 快速检测失败或卡住的 Kubernetes 部署。 | | 部署后检查 | 确认部署后的服务健康状况。 | ### 部署与回滚模型 - 基于 GitOps 的交付使用期望状态提交和 ArgoCD 协调。 - 直接的 Kubernetes 部署路径使用滚动状态并验证先前的镜像标签。 - 通过 Terraform 计划和限定范围的执行,保持基础设施变更可审查。 - 根据部署方法的不同,通过回滚、还原或重新部署路径处理失败的发布。 ## 基础设施即代码 Terraform 用于使云基础设施变得可重复、可审查且更易于审计。 | IaC 领域 | 实现摘要 | |----------|------------------------------------| | 计算 | 为 Kubernetes 和辅助工作负载配置并维护计算容量。 | | 网络 | 管理网络边界、安全组、负载均衡和环境隔离。 | | 存储 | 管理对象存储和选定的与备份相关的资源。 | | IAM | 以最小权限为方向,定义角色、策略和权限边界。 | | 环境隔离 | 保持生产与非生产配置的分离和可审查。 | | 变更审查 | 使用 Terraform 验证、计划审查和限定范围的变更集来降低基础设施风险。 | ## 可观测性与事件响应 可观测性模型将云基础设施、Kubernetes 工作负载、应用程序行为、部署状态和事件响应连接在一起。 | 信号 | 示例用途 | |--------|-------------| | 可用性 | 服务上/下状态、endpoint 检查和滚动健康状况。 | | 延迟 | 请求持续时间、缓慢的依赖项行为和面向用户的性能。 | | 错误 | 应用程序错误率、失败的任务、崩溃循环和失败的部署。 | | 饱和度 | CPU、内存、磁盘、pod 容量、节点压力和队列深度。 | | 部署健康状况 | 滚动状态、重启次数、镜像版本和失败的就绪检查。 | | 安全事件 | WAF 活动、漏洞修复证据和可疑流量趋势。 | | 组件 | 职责 | |-----------|----------------| | Prometheus | 指标收集和告警规则评估。 | | Grafana | 用于工作负载、集群和服务健康状况的仪表盘。 | | Alertmanager | 告警分组、路由和升级支持。 | | CloudWatch | 云基础设施遥测和运营可见性。 | | 集中式日志 | 事件调查期间的应用程序和平台日志审查。 | 生产改进包括通过仪表盘、告警、部署上下文和 Runbook 改善事件可见性、加快响应速度、明确运营所有权以及加强事后证据。 ## 安全与治理 安全模型侧重于在不阻碍工程速度的情况下提高生产安全性的实用控制。 | 控制领域 | 实现摘要 | |--------------|------------------------------------| | IAM | 减少广泛的云权限,并向限定范围的最小权限策略发展。 | | Kubernetes RBAC | 使用基于角色的访问模式来限制可以更改集群资源的人员和内容。 | | 漏洞管理 | 通过镜像扫描、依赖项可见性和优先修复来支持漏洞修复。 | | CI/CD 防护栏 | 在生产部署前添加构建、验证、扫描和滚动检查。 | | WAF 和边缘安全 | 调优 AWS WAF 控制以减少恶意流量暴露。 | | 机密信息管理 | 将机密信息排除在清单、示例制品和受源码控制的示例之外。 | | 审计支持 | 改善基础设施、部署、访问和运营控制的证据检索。 | | 变更控制 | 关联源码审查、部署证据、回滚路径和风险接受决策。 | | 策略即代码 | 使用准入和 CI/CD 策略示例来展示如何一致地执行平台规则。 | | 供应链信任 | 添加 SBOM、扫描、签名和来源示例,作为生产交付模型的路线图扩展。 | | AI SDLC 防护栏 | 添加了围绕 AI 辅助交付的人工审批、审计日志和工具边界控制的示例。 | ### IAM 强化模式 1. 识别广泛的托管策略和广泛的内联权限。 2. 将所需操作映射到真实的平台职责。 3. 尽可能按工作负载类别分离基础设施角色。 4. 通过标签、资源前缀和只读发现需求来限定权限范围。 5. 验证不相关的资源操作被拒绝。 6. 在需要时保留用于监控和托管实例访问的运营权限。 ### Kubernetes 安全模式 - 使用 namespace 来隔离工作负载所有权。 - 应用 RBAC 设定运营边界。 - 使用就绪和存活探针以确保更安全的滚动。 - 在需要服务到服务边界的地方使用 network policy。 - 部署前使用镜像扫描。 - 将机密信息排除在清单和仓库之外。 ## Day-2 运营与恢复 生产级 DevOps 工作在部署后通过可靠性、事件响应、恢复和持续改进实践继续进行。 | 实践 | 目的 | |----------|---------| | 集群健康检查 | 确认节点、pod、控制面和工作负载的健康状况。 | | 滚动监控 | 检测失败的部署、崩溃循环和就绪失败。 | | 容量审查 | 在 CPU、内存、磁盘和节点压力演变成宕机之前对其进行监控。 | | 告警分诊 | 将可操作的告警与噪声区分,并将其路由给正确的负责人。 | | 事件支持 | 使用仪表盘、日志、最近的部署和云遥测数据来隔离原因。 | | Runbook 维护 | 确保常见的恢复步骤可重复,且在压力下易于遵循。 | | 成本审查 | 通过审查使用情况、实例大小和托管服务替代方案来减少浪费。 |

Day-2 operations and recovery loop from alert or user report through triage, recent change review, metrics, logs, mitigation, recovery verification, documentation, and follow-up improvement.

恢复实践包括备份规划、选定的恢复验证、回滚文档以及事件审查和审计支持所需的运营证据。 ## 代表性示例 示例文件是实用的模式。它们的存在是为了展示跨平台、交付、运营和安全自动化的 DevOps 工程判断力。 | 路径 | 展示内容 | |------|---------------| | `examples/github-actions/ci-cd.yml` | 用于验证、扫描、镜像构建和部署交接的 CI/CD 阶段。 | | `examples/argocd/application.yaml` | Kubernetes 期望状态的 GitOps 应用程序结构。 | | `examples/kubernetes/deployment.yaml` | Deployment 健康检查、资源控制和利于滚动的配置。 | | `examples/kubernetes/cronjob.yaml` | 定时自动化工作负载模式。 | | `examples/kubernetes/network-policy.yaml` | 服务边界模式示例。 | | `examples/monitoring/prometheus-rule.yaml` | 用于可操作的服务健康监控的告警规则模式。 | | `examples/terraform/` | 云基础概念的 Terraform 结构。 | | `examples/policy-as-code/` | 带有可执行的 `kyverno test` 覆盖范围的 Kyverno 准入策略(参见 `examples/policy-as-code/README.md`)。 | | `examples/supply-chain/` | SBOM、漏洞扫描、制品签名和来源工作流模式。 | | `examples/vulnerability-triage/` | 扫描分诊输入示例和风险摘要输出。 | | `examples/ai-sdlc-control-plane/` | AI 辅助交付防护栏、审计日志和人工审批边界。 | ## 可选深入阅读 README 包含了主要故事。`docs/` 文件夹将相同的材料分离成专注的笔记,供希望了解更多细节的读者阅读。 | 路径 | 目的 | |------|---------| | `docs/architecture.md` | 架构叙述和平台层。 | | `docs/cicd.md` | CI/CD 设计、闸门、部署流程、回滚模型和验证策略。 | | `docs/observability.md` | 监控、告警、仪表盘、日志和事件响应模型。 | | `docs/security-and-governance.md` | IAM、RBAC、漏洞、WAF 和审计就绪控制。 | | `docs/operations-and-dr.md` | Day-2 运营、Runbook、备份、恢复和值班实践。 | | `docs/portfolio-roadmap.md` | 已完成的生产证据和有意跟踪的后续工作。 | ## 许可证 基于 [Apache License 2.0](LICENSE) 发布。
标签:API集成, DevSecOps, LLM防护, 上游代理, 可观测性, 子域名突变, 漏洞利用检测, 自定义请求头, 请求拦截