首先在 Google Cloud Console 创建或选择一个项目,并把默认区域设置为 asia-southeast2(马来西亚)。命令示例:gcloud config set project PROJECT_ID、gcloud config set compute/region asia-southeast2。
为部署分配必要权限:为 CI/CD 或开发者账号授予 roles/container.admin(GKE)、roles/artifactregistry.writer(Artifact Registry)或 roles/run.admin(Cloud Run)。推荐使用 Workload Identity 代替明文密钥以提高安全性。
启用必需 API:Compute Engine API、Kubernetes Engine API、Artifact Registry、Cloud Run 等。配置 VPC、子网和防火墙规则,确认出站网络和 NAT(如需要)。
推荐使用 Artifact Registry(取代旧的 Container Registry),在马来西亚区域创建仓库:gcloud artifacts repositories create REPO --repository-format=docker --location=asia-southeast2。
构建并推送镜像步骤:先用 Docker 或 Cloud Build 构建镜像,如 docker build -t asia-southeast2-docker.pkg.dev/PROJECT/REPO/IMAGE:TAG .,然后 docker push。使用 Cloud Build:gcloud builds submit --tag asia-southeast2-docker.pkg.dev/PROJECT/REPO/IMAGE:TAG .
使用语义化标签(v1.0.0、latest),设置镜像生命周期策略清理旧镜像。为镜像仓库启用 IAM 控制,限制写权限,只给予构建/部署服务账号写入权限。
创建区域或区域化的集群,例如区域化集群可以使用:gcloud container clusters create CLUSTER --region asia-southeast2 --num-nodes=3 --machine-type=e2-medium。启用自动扩缩容:--enable-autoscaling --min-nodes=1 --max-nodes=5。
在本地准备 Kubernetes manifest(Deployment、Service、Ingress),例如把镜像地址设置为 Artifact Registry 路径。使用 kubectl apply -f 部署:kubectl apply -f deployment.yaml。使用 LoadBalancer 类型或 GKE Ingress 暴露服务,申请静态 IP(如需固定 IP)。
为 Ingress 配置 HTTPS(Managed Certificate),使用 Network Policy 控制 Pod 间流量,启用 Pod 安全上下文和 GKE Workload Identity 绑定服务账号以限制权限。监控建议使用 Cloud Monitoring + Prometheus Adapter。
Cloud Run 提供快速部署、自动伸缩到零和按使用付费的优势,适合无状态应用。部署命令示例:gcloud run deploy SERVICE --image asia-southeast2-docker.pkg.dev/PROJECT/REPO/IMAGE:TAG --region asia-southeast2 --platform managed --allow-unauthenticated。
若应用需要访问 VPC 内资源,配置 Serverless VPC Connector;若需私有访问,使用 ingress 设置和 IAM 访问控制。Cloud Run 也支持并发配置与自动扩缩参数,可在部署时设置 --concurrency 与 --max-instances。
选择 GKE 如果需要复杂的集群网络、StatefulSet 或自定义控制器;选择 Cloud Run 如果追求运维简化、快速弹性。
监控:启用 Cloud Monitoring 和 Cloud Logging,配置告警(CPU、内存、错误率)。在 GKE 中可部署 Prometheus + Grafana 并与 Cloud Monitoring 集成。
自动扩容:GKE 使用 Cluster Autoscaler 与 Horizontal Pod Autoscaler(HPA),基于 CPU/自定义指标扩容;Cloud Run 自动根据请求并发扩容,设置最大实例数以控制成本。
启用二进制授权(Binary Authorization)对生产镜像进行签名和验证;使用 KMS 管理密钥,启用 VPC 服务控制、IAP 或负载均衡层的 WAF。定期扫描镜像漏洞并更新基础镜像。