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镜像