You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何更新Google Kubernetes Engine中Guestbook应用的前端页面?

解决Guestbook前端页面更新不生效的问题

你之前执行的kubectl apply -f frontend-service.yaml只负责更新Service资源(流量转发规则),完全碰不到Pod里的页面内容,所以修改不会生效。下面分两种常见场景给出解决方案:

场景1:前端页面打包在容器镜像里(官方教程默认方式)

官方教程的前端页面是打包在镜像中部署的,修改index.html后需要重新构建镜像并更新Deployment:

  • 构建新镜像:将修改后的index.html放到前端代码目录(与Dockerfile同路径),执行

    docker build -t [你的容器仓库地址]/gb-frontend:v6 .
    

    替换[你的容器仓库地址]为GCR或Artifact Registry的地址,版本号v6可自定义(只要比原版本号新即可)

  • 推送镜像到容器仓库:

    docker push [你的容器仓库地址]/gb-frontend:v6
    
  • 更新前端Deployment(三种方式选其一):

    1. 直接指定新镜像版本:
      kubectl set image deployment/frontend frontend=[你的容器仓库地址]/gb-frontend:v6
      
    2. 修改frontend-deployment.yaml中的image字段为新镜像地址,再执行:
      kubectl apply -f frontend-deployment.yaml
      
    3. 在线编辑Deployment配置:
      kubectl edit deployment/frontend
      
      找到spec.template.spec.containers[0].image字段替换为新镜像,保存退出即可

场景2:前端页面通过ConfigMap挂载(自定义部署方式)

如果是将index.html存入ConfigMap后挂载到Pod中的,按以下步骤更新:

  • 更新ConfigMap内容:

    kubectl create configmap frontend-html --from-file=index.html --dry-run=client -o yaml | kubectl apply -f -
    

    这条命令会用新的index.html覆盖原有ConfigMap的内容

  • 重启前端Pod让新配置生效:

    kubectl rollout restart deployment/frontend
    

内容的提问来源于stack exchange,提问作者Chris_197

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:20:47