musaumakau/gcp-infrastructure-modules

GitHub: musaumakau/gcp-infrastructure-modules

一套模块化的 GCP 生产环境 Terraform 模块,覆盖私有网络、私有 GKE、准入控制和运行时检测,帮助团队以基础设施即代码的方式部署纵深防御的云原生平台。

Stars: 0 | Forks: 0

# gcp-infrastructure-modules 用于 GCP 基础设施的复用 Terraform 模块,映射 AWS 蓝图 在 [`infrastructure-modules`](https://github.com/musaumakau/infrastructure-modules) 中: 模块化、可组合、无硬编码的环境值,每个模块均可独立使用,并通过其各自的 `examples/complete` 进行独立测试。 `environments/prod` 是所有这些内容实际部署的唯一地方—— 请参阅 [`environments/prod/README.md`](environments/prod/README.md) 了解实际的 apply 工作流、provider 引导的注意事项以及故障排除说明。 ## 模块 | 模块 | 功能 | |---|---| | [`vpc`](vpc/) | 私有、VPC 原生网络,包含 Cloud NAT 以及用于 GKE pods/services 的辅助范围 | | [`gke`](gke/) | 私有、区域性 GKE 集群 — Workload Identity、按节点池划分的最小权限 service account、shielded node、定义为 map 的自动扩缩容节点池 | | [`kubernetes-addons`](kubernetes-addons/) | 通过 Terraform 的 `helm_release` 部署的集群 addon — Kyverno、Gatekeeper、cert-manager、external-dns | | [`falco`](falco/) | eBPF 运行时检测(Falco + Falcosidekick),叠加在 `kubernetes-addons` 的准入控制执行之上 — 检测实际运行的内容,而不仅仅是允许运行的内容 | | [`falco-alerting`](falco-alerting/) | 事件驱动的告警投递:Pub/Sub → Cloud Function → Discord,与集群生命周期解耦 | ## 设计 基础设施和 CI/CD 被视为模块化软件系统,而不是一次性的脚本:包含可复用模块、复合 CI action、policy-as-code 执行,以及现在在准入控制之上的运行时检测。预防(Kyverno、Gatekeeper/Ratify — 参见 [`supply-chain-security`](https://github.com/musaumakau/supply-chain-security))和检测被视为互补的层次,而不是非此即彼——准入控制回答“允许运行什么”,Falco 回答“运行后实际发生了什么”。 ## 快速开始 ``` cd environments/prod cp terraform.tfvars.example terraform.tfvars # 编辑 terraform.tfvars: project_id、discord_webhook_url 等。 terraform init -backend-config="bucket=YOUR-TF-STATE-BUCKET" terraform apply -target=module.vpc -target=module.gke # first apply only terraform apply ``` 完整详细信息,包括全新集群上的两阶段 apply 要求以及搭建过程中的实际故障排除说明,请参见 [`environments/prod/README.md`](environments/prod/README.md)。 ## 相关仓库 - [`infrastructure-modules`](https://github.com/musaumakau/infrastructure-modules) — 本仓库对应的 AWS 版本 - [`supply-chain-security`](https://github.com/musaumakau/supply-chain-security) — 本仓库 `kubernetes-addons` 模块部署的完整 CI/CD 签名/证明 pipeline 和准入执行 - [`kyverno-policy-pack`](https://github.com/musaumakau/kyverno-policy-pack) — `kubernetes-addons` 使用的独立且经过测试的 Kyverno policy 集
标签:Docker镜像