尧图精选

Cloud Shell 中运行 skaffold run 构建 Online Boutique 报 “No space left on device“ 怎么处理?

🕒 发布时间:2026/9/15 12:16:36 📁 来源:尧图网络
Cloud Shell 中运行 skaffold run 构建 Online Boutique 报 No space left on device 怎么处理【免费下载链接】microservices-demoSample cloud-first application with 10 microservices showcasing Kubernetes, Istio, and gRPC.项目地址: https://gitcode.com/GitHub_Trending/mi/microservices-demo在 Google Cloud Shell 中按照 development-guide.md 的 GKE 路径部署 Online Boutique 时执行skaffold run会在构建容器镜像阶段报出No space left on deviceCloud Shell 的磁盘空间有限而默认方式是在本机用 Docker 构建并推送全部 10 个微服务的镜像磁盘很快被耗尽。development guide 针对这个报错给出了明确的替代路径把镜像构建交给 Google Cloud BuildGCB即使用skaffold.yaml中预置的gcbprofile让构建发生在 Cloud Build 的构建机器上而不是 Cloud Shell 本地。适用前提这个处理方案对应 development guide 中Option 1GKE的流程执行替代命令前该流程的前两步应当已经完成已创建 GKE 集群kubectl指向该集群已启用 Artifact Registry 并完成 docker 认证gcloud services enable artifactregistry.googleapis.com gcloud artifacts repositories create microservices-demo \ --repository-formatdocker \ --locationus gcloud auth configure-docker -q如果你连skaffold run都还没跑过先确认上述集群与仓库配置就绪只有当构建阶段确实出现No space left on device时才需要切换到下面的命令。切换到 Cloud Build 构建1. 启用 Cloud Build APIgcb profile 依赖 Cloud Build 服务在 Google Cloud 控制台中启用 Cloud Build APIAPI 标识cloudbuild.googleapis.com。2. 使用 gcb profile 重新运行在仓库根目录执行skaffold run -p gcb --default-repous-docker.pkg.dev/PROJECT_ID/microservices-demoPROJECT_ID替换为你的 Google Cloud 项目 ID这是文中唯一需要替换的变量。-p gcb会激活 skaffold.yaml 中的gcbprofileapp和loadgenerator两份配置里都定义了该 profile其构建参数如下googleCloudBuild: diskSizeGb: 300 machineType: N1_HIGHCPU_32 timeout: 4000s也就是构建工作发生在配置了 300 GB 磁盘的N1_HIGHCPU_32机器上不再占用 Cloud Shell 本地磁盘文件注释同时说明该方式不要求开发者机器上安装 docker。耗时预期skaffold.yaml 中的注释明确提示 GCB 不会缓存构建每次构建都从头开始、会花费较长时间这是切换到该路径后需要接受的代价不要误判为卡死。验证部署结果构建完成后deployment 阶段仍会把镜像推送至 Artifact Registry 并应用 kubernetes-manifests 完成部署。按 development guide 的验证步骤确认kubectl get service frontend-externalfrontend-external是 kubernetes-manifests/frontend.yaml 中定义的 LoadBalancer Service记下输出中的EXTERNAL-IP在浏览器访问http://EXTERNAL-IP能看到 Online Boutique 前端页面即表示应用部署成功。边界与后续操作该处理方案只针对 development guide 记录的 Cloud Shell GKE 场景如果是在本地 minikube 或 Docker Desktop 上构建遇到同类磁盘问题文档给出的是提高本地集群磁盘配额minikube 与 Docker Desktop 均要求至少 32 GB 磁盘而不是 gcb profile。需要释放已部署资源时development guide 给出的清理命令是skaffold delete之后再次构建时注意 GCB 无缓存构建时间会再次变长。【免费下载链接】microservices-demoSample cloud-first application with 10 microservices showcasing Kubernetes, Istio, and gRPC.项目地址: https://gitcode.com/GitHub_Trending/mi/microservices-demo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →