集結國內外精選文章,掌握最新雲端技術新知與應用
建立 GCP 的虛擬機時,可以透過 GCP 本身提供的映像檔一鍵開啟,或是透過自製的映像檔來建立,而本篇教學將由小編帶領各位製作客製化的映像檔。這裡取樣的公開映像檔為『CentOS-6-x86_64-GenericCloud.raw.tar.gz』並使用 MacOS 來進行測試,此教學適用於以下的映像檔版本。
根據 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
mv CentOS-6-x86_64-GenericCloud-1805.raw disk.raw 重新壓縮該檔案,名稱不限,壓縮時也需要等待數分鐘。 gtar zcvf disk.raw.tar.gz disk.raw 上傳映像檔至 GCS bucket 創立 GCS bukcet gsutil mb gs://[BUCKET_NAME] 上傳 disk.raw 至 bucket gsutil cp disk.raw.tar.gz gs://[BUCKET_NAME] 生成 GCE 映像檔並安裝 driver 匯入 GCE 映像檔,[IMAGE_NAME] 為映像檔名稱 gcloud compute images create [IMAGE_NAME] --source-uri gs://[BUCKET_NAME]/disk.raw.tar.gz 安裝 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] 成功後會出現以下的訊息 使用客製映像檔創建虛擬機並測試網路 創建一台虛擬機,[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。 GCP
重新壓縮該檔案,名稱不限,壓縮時也需要等待數分鐘。
gtar zcvf disk.raw.tar.gz disk.raw
創立 GCS bukcet
gsutil mb gs://[BUCKET_NAME]
上傳 disk.raw 至 bucket
gsutil cp disk.raw.tar.gz gs://[BUCKET_NAME]
匯入 GCE 映像檔,[IMAGE_NAME] 為映像檔名稱
gcloud compute images create [IMAGE_NAME] --source-uri gs://[BUCKET_NAME]/disk.raw.tar.gz
安裝 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]
成功後會出現以下的訊息
創建一台虛擬機,[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。