现象:利用google云搭建VM服务,在搭建实例组有一个"自动调节"功能,可以自动添加/删除MV,当自动添加VM时可能新添加的VM就是一个新的VM,你部署的代码或者环境都没了。现在解决该问题。

     1、新建模板VM:作为基础VM模板,然后进虚拟机进行配置(环境配置和代码部署)。https://console.cloud.google.com/compute/instances

  2、完成后,用IP进行访问,测试你的服务是否能正常访问。如果正常,停止该虚拟机。然后创建映像:来源磁盘选择刚刚新建的VM磁盘。

  3、 利用映像创建实例模板:启动磁盘选择刚刚新建的映像

  3、创建实例组或者实例:根据刚刚新建的实例模板创建VM。实例组开启自动调节,但满足需求时,会自动添加或者删除VM,只保留需要的VM个数。

4、创建负载均衡:主菜单中(网络服务--负载均衡)中创建负载均衡,后端配置中在实例组一项选择刚刚新建的实例组。

5、负载均衡的公共IP就是最终的访问IP,DNS解析绑定到该IP即可。

   总结:当访问并发加大时,超过设置的调节限制,系统会自动添加新的VM。当我们根据上面的步骤设置后,新建的VM就会根据映像自动创建新的VM,这种情况下新VM就是完整的,部署的代码和其他服务都正常。否则新MV会根据第一次创建模板VM的启动磁盘为准,新建出来的VM就是新的,没有我们部署的代码和服务。

  

  附:代码更新:如果我们的代码有更新,需要重新部署到服务器,可以用以下方式。

  6、重新启动模板VM(第1步创建的模板VM,我们创建映像时关掉的VM)。启动后通过SSH进入VM进行代码部署,然后通过IP进行访问,测试新代码的部署是否生效。

  7、通过测试后关闭该VM。然后去映像中删除上次建的映像(第2不创建的映像)。注意,记录下该映像的名称

  8、根据第2步的方式创建映像,注意新映像名称必须跟上一步删除的映像名称必须一样,不然实例组新建VM是无法找到映像。新的映像启动磁盘用第6步部署了新代码的VM磁盘。

  9、完成后,更新实例。在实例组中选择实例进行"重新启动/替换"。替换完成后,新部署的代码或者服务在每个VM都生效。

       

Google Compute Engine VM自动调节的更多相关文章

  1. 修改谷歌云google cloud engine VM root账户的密码和允许远程ssh登录

      Figured it out. The VM's in cloud engine don't come with a root password setup by default so you'l ...

  2. 使用Compute Engine工具连接Linux VM

    Links: Connecting to Linux Instances 内容: 要连接Linux VM实例,必须要有一个SSH(Secure Shell)秘钥.无论何时连接一个LinuxVM实例(通 ...

  3. PaaS平台– Google App Engine的开源实现AppScale环境搭建

    搭建好开发环境介绍: 硬件平台:HP Z800 工作站  内存:24GB      硬盘:1TB 虚拟化环境:XenServer 6.2.0 VM1:Ubuntu 12.04 amd64 server ...

  4. [GCP] Goolge compute Engine

    Which of the following is a PAAS option for hosting web apps on GCP? App Engine standard or flexible ...

  5. Google App Engine, Python2.7的UnicodeDecodeError bug

    在跟Web Development,要在Google App Engine上写作业,出师不利,遇到以下bug: 2014-05-06 16:14:17 Running command: "[ ...

  6. [Ubuntu] Linux下使用google app engine,无法打开https网站的解决方法

    为什么这里写的是 google app engine?原因我就不解释了.步骤如下: 1)安装证书导入工具:$ sudo apt-get install libnss3-tools 2)导入CA.crt ...

  7. 介绍Google App Engine

    Google App Engine是一个网络应用托管服务(web application hosting service).所谓网络应用(By web application),我们的意思的可以通过网 ...

  8. Google App Engine Deployment 相关问题

    1.GAE instance上传成功之后可以正常运行的情况下.在Google账户中“关联的应用和网站”,撤销Google App Engine appcfg对Google账户的访问权限. 再次上传时, ...

  9. 基于google earth engine 云计算平台的全国水体变化研究

    第一个博客密码忘记了,今天才来开通第二个博客,时间已经过去两年了,三年的硕士生涯,真的是感慨良多,最有收获的一段时光,莫过于在实验室一个人敲着代码了,研三来得到中科院深圳先进院,在这里开始了新的研究生 ...

随机推荐

  1. Python高级数据类型

    除了python中默认提供的几种基本数据类型 collections模块还提供了几种特别好用的类型! 1.Conters //计数器 2.Orderdict // 有序字典 3.defalutdict ...

  2. vue 钩子函数

    beforeRouteEnter 方法名称: beforeRouteEnter 调用时机: 切换路由之前,调用该方法时,页面还没有切换 next调用时机: activated 之后 注意事项: thi ...

  3. 将Android工程打成jar包之后对资源的调用。

    Android工程不能完整的打包成jar包.这个主要是R文件导致的,但是我们可以将除了资源文件中的所有东西都打到jar包中.Activity.View等等类. 提供jar包的同时,还需要提供资源文件. ...

  4. Mvc过滤器的使用【转载】

    前言 在开发大项目的时候总会有相关的AOP面向切面编程的组件,而MVC(特指:Asp.Net MVC,以下皆同)项目中不想让MVC开发人员去关心和写类似身份验证,日志,异常,行为截取等这部分重复的代码 ...

  5. Laravel Scheduling Package

    Laravel 是在 App\Console\Kernel 类中的 schedule 方法去定义所有的调度任务. iBrand 产品作为一个电商类产品,本身业务需求非常庞大和复杂,全部定义在 sche ...

  6. April 20 2017 Week 16 Thursday

    We are all in the gutter, but some of us are looking at the stars. 我们都生活在阴沟里,但仍有人仰望星空. In the past m ...

  7. 搭建TFTP服务器配置

    实验内容: TFTP是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂,开销不大的文件传输服务.TFTP承载在UDP上,提供不可靠的数据传输服务,不提供存取授权与认 ...

  8. 力不从心 Leetcode(ugly number heap) 263, 264,313

    Leetcode ugly number set (3 now) new ugly number is generated by multiplying a prime with previous g ...

  9. user(),current_user()函数的区别

    user() 表示当前的登录用户   current_user() 表示对应于mysql.user表里对应的账号.

  10. java 使用mongodb

    1.先连接你的mongodb 看连接是否有问题,代码 public class MongoDB2 { private static MongoDatabase mongoDatabase = null ...