+86 189 8218 1436Mon. - Fri. 10:00-22:00

GCP 定制Custom image 镜像教程

GCP 定制Custom image 镜像教程
Posted in: GCP谷歌云服务器代维护, Google谷歌GCP云服务器代维护服务, Google谷歌GCP云服务外包, Google谷歌GCP技术支持服务 Started by

GCP 定制Custom image 镜像教程

建立GCP的虚拟机时,可以透过GCP本身提供的映像档一键开启,或是透过自制的映像档来建立,而本篇教学将由小编带领各位制作客制化的映像档。这里取样的公开映像档为『CentOS-6-x86_64-GenericCloud.raw.tar.gz』并使用MacOS来进行测试,此教学适用于以下的映像档版本。

  • Debian 7 and Debian 8
  • RHEL/CentOS 6
  • openSUSE 13.x
  • Ubuntu 12.04, 14.04, and 16.04

准备欲上传的映像档

根据GCP官方文件的要求,映像档的档案名称必须为disk.raw。所以需要解压缩该档案,重新命名里面的.raw档之后重新压缩。MacOS的用户需要安装gnu-tar并使用gtar,而Linux用户使用tar。

解压缩CentOS-6-x86_64-GenericCloud.raw.tar.gz,需要等待一段时间。

gtar zxvf CentOS-6-x86_64-GenericCloud.raw.tar.gz

Screen-Shot-2018-09-04-at-12.07.46-PM-1

重新命名该档案成disk.raw重新命名该档案成disk.raw

mv CentOS-6-x86_64-GenericCloud-1805.raw disk.raw

重新压缩该档案,名称不限,压缩时也需要等待数分钟。

gtar zcvf disk.raw.tar.gz disk.raw

Screen-Shot-2018-09-04-at-12.15.01-PM-1

上传映像档至GCS bucket

创立GCS bukcet

gsutil mb gs://[BUCKET_NAME]

上传disk.raw 至bucket

gsutil cp disk.raw.tar.gz gs://[BUCKET_NAME]

Screen-Shot-2018-09-04-at-12.26.59-PM-2

生成GCE 映像档并安装driver

汇入GCE 映像档,[IMAGE_NAME] 为映像档名称

gcloud compute images create [IMAGE_NAME] --source-uri gs://[BUCKET_NAME]/disk.raw.tar.gz

Screen-Shot-2018-09-04-at-1.37.21-PM-2

安装GCE映像档的相关driver,[IMAGE_NAME]为最终的映像档名称、[SOURCE_IMAGE]为上述步骤的映像档名称、[OS]为作业系统版本,需要为以下的选项:centos-6, centos-7 , debian-8, debian-9, rhel-6, rhel-7, rhel-6-byol, rhel-7-byol, ubuntu-1404, ubuntu-1604, windows-2008r2, windows-2012r2, windows-2016。此步骤需要执行30分钟左右。

gcloud compute images import [IMAGE_NAME] \
--source-image [SOURCE_IMAGE] \
--os [OS]

Screen-Shot-2018-09-04-at-2.00.20-PM-1

成功后会出现以下的讯息

Screen-Shot-2018-09-04-at-2.06.06-PM-2

照着上述的步骤安装完毕后,等待一段时间后即可以ssh 进到该台机器。如下图所示,该台虚拟机有运行Google network daemon。

Screen-Shot-2018-09-04-at-2.33.52-PM-1

使用客制映像档创建虚拟机并测试网路

创建一台虚拟机,[INSTANCE_NAME] 为虚拟机的名称

gcloud compute instances create [INSTANCE_NAME] --zone=us-central1-c --machine-type=f1-micro

创建完毕后试着ssh 至该台虚拟机。

gcloud compute ssh [INSTANCE_NAME]

建立一个暂时的HTTP server

python -m SimpleHTTPServer 8080

SSH 至另外一台VM 并下curl 指令测试,[INTERNAL_IP]是指使用客制映像档的虚拟机内部IP

curl [INTERNAL_IP]:8080

成功连通会出现以下讯息,表示有成功连到刚刚暂时架设的HTTP server。

Screen-Shot-2018-09-04-at-4.44.23-PM