在GCP上创建GCE的三种方式(Console,gcloud,Terraform)
2024-10-21 03:59:18
1 简介
如果要选择GCP为云平台,则经常需要创建GCE(Google Compute Engine),有以下几种方式:
(1) 在浏览器创建
(2) 命令 gcloud
(3) Terraform
在开始之前,可以查看:《初始化一个GCP项目并用gcloud访问操作》。
2 GCP Console
登陆操作界面,点击创建按钮,然后选择好参数即可:
会显示出对应的价格。
3 gcloud命令
在操作界面创建时,可以直接查看对应的gcould命令:
我们直接运行就可以创建了:
$ gcloud compute instances create pkslow-vm \
--project=pkslow \
--zone=us-west1-a \
--machine-type=e2-micro \
--network-interface=network-tier=PREMIUM,subnet=default \
--maintenance-policy=MIGRATE \
--service-account=admin-for-all@pkslow.iam.gserviceaccount.com \
--scopes=https://www.googleapis.com/auth/cloud-platform \
--tags=http-server,https-server \
--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 \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any
Created [https://www.googleapis.com/compute/v1/projects/pkslow/zones/us-west1-a/instances/pkslow-vm].
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
pkslow-vm us-west1-a e2-micro 10.138.0.5 34.145.124.xxx RUNNING
10.138.0.5 34.145.124.xxx RUNNING
检查是否创建成功:
$ gcloud compute instances list
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
pkslow-vm us-west1-a e2-micro
4 Terraform
当然,最佳实践是使用Terraform来管理,代码简单易懂,具体如下:
provider "google" {
project = "pkslow"
}
resource "google_compute_instance" "test" {
name = "pkslow-test"
machine_type = "e2-micro"
zone = "us-west1-a"
tags = ["http-server", "https-server"]
boot_disk {
initialize_params {
image = "projects/centos-cloud/global/images/centos-8-v20211105"
}
}
network_interface {
network = "default"
access_config {
// Ephemeral public IP
}
}
metadata = {
foo = "bar"
}
metadata_startup_script = "echo hi > /test.txt"
service_account {
# Google recommends custom service accounts that have cloud-platform scope and permissions granted via IAM Roles.
email = "admin-for-all@pkslow.iam.gserviceaccount.com"
scopes = ["cloud-platform"]
}
}
检查是否创建成功:
$ gcloud compute instances list
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
pkslow-test us-west1-a e2-micro 10.138.0.6 34.83.138.xxx RUNNING
pkslow-vm us-west1-a e2-micro 10.138.0.5 34.145.124.xxx RUNNING
也可以界面上查看:
5 代码
代码请查看GitHub: https://github.com/LarryDpk/pkslow-samples
最新文章
- express全局安装后无法通过require使用
- 【Win10开发】响应式布局——AdaptiveTrigger
- linux内核分析作业3:跟踪分析Linux内核的启动过程
- SCALA XML pattern attrbute(属性)
- Dojo特效(翻译)
- C:上台阶
- 正则匹配之url的匹配
- [设计模式] 21 策略模式 Strategy
- I.MX6 bq27441 driver porting
- RHEL 7特性说明(七):编译程序及工具
- Java获取 JVM 运行信息
- Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素
- cocos2d移植到安卓引入第三方so文件时候编译会删除解决方式
- 移动端click事件延迟300ms到底是怎么回事,该如何解决?
- 这个接口管理平台 eoLinker 开源版部署指南你一定不想错过
- Flask 扩展 Flask-RESTful
- JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象
- Python3.6连接mysql(一)
- linux中ftp的安装过程记录[运维篇]
- React系列文章:JSX生成真实DOM结点
热门文章
- C语言客房管理&;酒店管理
- Java 8 Stream API 引入和使用
- 苹果iOS App上架流程,非iOS开发人员上架教程
- netty系列之:来,手把手教你使用netty搭建一个DNS tcp服务器
- IOT黑客入门篇之初探Badusb
- jdk线程池ThreadPoolExecutor优雅停止原理解析(自己动手实现线程池)(二)
- centos8 telnet安装
- day33 过滤器filter &; 监听器listener &; 利用反射创建BaseServlet实现调用自定义业务方法
- 打印三位数的水仙花数Java
- JVM面试点汇总