1 简介

如果要选择GCP为云平台,则经常需要创建GCE(Google Compute Engine),有以下几种方式:

(1) 在浏览器创建

(2) 命令 gcloud

(3) Terraform

在开始之前,可以查看:《初始化一个GCP项目并用gcloud访问操作》。

2 GCP Console

登陆操作界面,点击创建按钮,然后选择好参数即可:

会显示出对应的价格。

3 gcloud命令

在操作界面创建时,可以直接查看对应的gcould命令:

我们直接运行就可以创建了:

  1. $ gcloud compute instances create pkslow-vm \
  2. --project=pkslow \
  3. --zone=us-west1-a \
  4. --machine-type=e2-micro \
  5. --network-interface=network-tier=PREMIUM,subnet=default \
  6. --maintenance-policy=MIGRATE \
  7. --service-account=admin-for-all@pkslow.iam.gserviceaccount.com \
  8. --scopes=https://www.googleapis.com/auth/cloud-platform \
  9. --tags=http-server,https-server \
  10. --create-disk=auto-delete=yes,boot=yes,device-name=instance-1,image=projects/centos-cloud/global/images/centos-8-v20211105,mode=rw,size=20,type=projects/pkslow/zones/us-west1-a/diskTypes/pd-standard \
  11. --no-shielded-secure-boot \
  12. --shielded-vtpm \
  13. --shielded-integrity-monitoring \
  14. --reservation-affinity=any
  15. Created [https://www.googleapis.com/compute/v1/projects/pkslow/zones/us-west1-a/instances/pkslow-vm].
  16. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
  17. pkslow-vm us-west1-a e2-micro 10.138.0.5 34.145.124.xxx RUNNING
  18. 10.138.0.5 34.145.124.xxx RUNNING

检查是否创建成功:

  1. $ gcloud compute instances list
  2. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
  3. pkslow-vm us-west1-a e2-micro

4 Terraform

当然,最佳实践是使用Terraform来管理,代码简单易懂,具体如下:

  1. provider "google" {
  2. project = "pkslow"
  3. }
  4. resource "google_compute_instance" "test" {
  5. name = "pkslow-test"
  6. machine_type = "e2-micro"
  7. zone = "us-west1-a"
  8. tags = ["http-server", "https-server"]
  9. boot_disk {
  10. initialize_params {
  11. image = "projects/centos-cloud/global/images/centos-8-v20211105"
  12. }
  13. }
  14. network_interface {
  15. network = "default"
  16. access_config {
  17. // Ephemeral public IP
  18. }
  19. }
  20. metadata = {
  21. foo = "bar"
  22. }
  23. metadata_startup_script = "echo hi > /test.txt"
  24. service_account {
  25. # Google recommends custom service accounts that have cloud-platform scope and permissions granted via IAM Roles.
  26. email = "admin-for-all@pkslow.iam.gserviceaccount.com"
  27. scopes = ["cloud-platform"]
  28. }
  29. }

检查是否创建成功:

  1. $ gcloud compute instances list
  2. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
  3. pkslow-test us-west1-a e2-micro 10.138.0.6 34.83.138.xxx RUNNING
  4. pkslow-vm us-west1-a e2-micro 10.138.0.5 34.145.124.xxx RUNNING

也可以界面上查看:

5 代码

代码请查看GitHub: https://github.com/LarryDpk/pkslow-samples

在GCP上创建GCE的三种方式(Console,gcloud,Terraform)的更多相关文章

  1. 0036 Java学习笔记-多线程-创建线程的三种方式

    创建线程 创建线程的三种方式: 继承java.lang.Thread 实现java.lang.Runnable接口 实现java.util.concurrent.Callable接口 所有的线程对象都 ...

  2. js学习-DOM之动态创建元素的三种方式、插入元素、onkeydown与onkeyup两个事件整理

    动态创建元素的三种方式: 第一种: Document.write(); <body> <input type="button" id="btn" ...

  3. JavaWeb_(Struts2框架)Struts创建Action的三种方式

    此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...

  4. spring创建bean的三种方式

    spring创建bean的三种方式: 1通过构造方法创建bean(最常用) 1.1 spring默认会通过无参构造方法来创建bean,如果xml文件是这样配置,则实体类中必须要有无参构造方法,无参构造 ...

  5. Java并发编程:Java创建线程的三种方式

    目录 引言 创建线程的三种方式 一.继承Thread类 二.实现Runnable接口 三.使用Callable和Future创建线程 三种方式的对比 引言 在日常开发工作中,多线程开发可以说是必备技能 ...

  6. java创建线程的三种方式及其对比

    第一种方法:继承Thread类,重写run()方法,run()方法代表线程要执行的任务.第二种方法:实现Runnable接口,重写run()方法,run()方法代表线程要执行的任务.第三种方法:实现c ...

  7. AJPFX总结java创建线程的三种方式及其对比

    Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务.因此把run()方法称为执行 ...

  8. java创建线程的三种方式及其对照

    Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)定义Thread类的子类.并重写该类的run方法,该run方法的方法体就代表了线程要完毕的任务.因此把run()方法称为运行 ...

  9. JavaScript创建函数的三种方式

    ㈠函数(function) ⑴函数也是一个对象 ⑵函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码) ⑶函数中可以保存一些代码在需要的时候调用 ⑷使用typeof检查一个函数对象时,会返 ...

  10. PHP连接数据库、创建数据库、创建表的三种方式

    这篇博客主要介绍了三种方式来连接MySQL数据库以及创建数据库.创建表.(代码是我在原来的基础上改的) MySQLi - 面向对象 MySQLi - 面向过程 PDO MySQLi 面向对象 < ...

随机推荐

  1. 复杂场景数据处理的 OLTP 与 OLAP 融合实践

    本文首发于 NebulaGraph 公众号 Dag Controller 介绍 Dag Controller 是 NebulaGraph 企业版的系统,经过反复测试无误后进行了发布,它主要解决的是 O ...

  2. .Net Core - 使用事务IDbtransaction操作DBData

    New一个流程 获取数据库连接字符串,实例化SqlConnection 打来数据库连接 Begin当前连接的事务(IDbTransaction) 操作数据库(操作数据库的时候一定要使用当前连接和事务修 ...

  3. 2022HNCTF--WEB

    @ 目录 [Week1]Interesting_http 分析 payload [Week1]2048 分析 payload [Week1]easy_html 分析 paylaod [Week1]In ...

  4. 畅联新增物联网设备接入协议:精华隆的NB一键报警

    这个是有点时间了,这里记录一下! ----------------------------------------------------------------------------------- ...

  5. i春秋broken

    点开一个附带超链接的网页,直接点击file跳转到broken网页 网页里面是一个jsfuck代码 Jsfuck代码的执行方法 ①复制 ②打开firefox浏览器 ③按下F12 ④选择上方的控制台 ⑤在 ...

  6. 关于linux mint新增加的鼠标样式的示例图片不能正确显示的解决办法

    前言 我相信你在linux mint 做鼠标主题美化的时候一定遇到过这样的问题 没错!!! 下载的鼠标的主题的示例图片不能正确显示,当然这样虽然不影响正常的鼠标主题更换使用,但是对于我这种强迫症来说简 ...

  7. day21 单列索引与组合索引 & 索引的优点和使用原则 & 视图与函数

    索引 1.索引有几种 四种,单列索引,组合索引,全文索引,空间索引 2.索引的优点 所有的MySQL数据库列类型都可以被索引,也就是可以给任意字段加索引 提高数据查询速度 索引的缺点 1)创建索引和维 ...

  8. 如何发布一个 TypeScript 编写的 npm 包

    前言 在这篇文章中,我们将使用TypeScript和Jest从头开始构建和发布一个NPM包. 我们将初始化一个项目,设置TypeScript,用Jest编写测试,并将其发布到NPM. 项目 我们的库称 ...

  9. JavaScript入门③-函数(2)原理{深入}执行上下文

    00.头痛的JS闭包.词法作用域? 被JavaScript的闭包.上下文.嵌套函数.this搞得很头痛,这语言设计的,感觉比较混乱,先勉强理解总结一下. 为什么有闭包这么个东西?闭包包的是什么? 什么 ...

  10. Java中遇到的常见问题

      一.常用的快捷键 查询对应类:Ctrl+N eclipse的快速生成代码:Alt+Shift+s或sources 加单行注释:Ctrl+/ 运行程序:Ctrl+Shift+F10 搜索:Ctrl+ ...