Google Compute Engine
预计阅读时间:4分钟
在Google Compute Engine上创建计算机。您需要一个Google帐户和一个项目ID。有关项目的详细信息,请参见https://cloud.google.com/compute/docs/projects。
证书
Google驱动程序使用应用程序默认凭据 来获取授权凭据,以用于调用Google API。
因此,如果docker-machine
从GCE主机使用,则通过内置服务帐户自动进行身份验证。否则,请安装gcloud并使用来完成oauth2进程gcloud auth login
。
或者,手动将凭据.json文件下载到本地,然后将GOOGLE_APPLICATION_CREDENTIALS
环境变量点设置为其位置,例如:
export GOOGLE_APPLICATION_CREDENTIALS=$HOME/gce-credentials.json
例子
要创建机器实例,请指定--driver google
,项目ID和机器名称。
$ gcloud auth login
$ docker-machine create --driver google --google-project PROJECT_ID vm01
$ docker-machine create --driver google \
--google-project PROJECT_ID \
--google-zone us-central1-a \
--google-machine-type f1-micro \
vm02
选项
--google-address
:实例的静态外部IP(名称或IP)。--google-disk-size
:实例的磁盘大小。--google-disk-type
:实例的磁盘类型。--google-machine-image
:要实例化的基本VM映像的绝对URL。--google-machine-type
:实例的类型。--google-network
:指定要在其中配置VM的网络。--google-preemptible
:实例抢占。--google-project
:必需启动实例时要使用的项目的ID。--google-scopes
:OAuth 2.0访问Google API的范围。请参阅Google Compute Engine文件。--google-subnetwork
:指定要在其中配置VM的子网。--google-tags
:实例标签(以逗号分隔)。--google-use-existing
:不要创建新的VM,而要使用现有的VM。当您想在自己创建的VM上配置Docker时,这很有用,可能是因为它使用了该驱动程序不支持的创建选项。--google-use-internal-ip-only
:在创建过程中使用此选项时,不会为新VM分配公共IP地址。仅当正在运行的主机docker-machine
位于Google Cloud基础架构内部时,此选项才有用。否则,docker-machine
将无法访问VM来配置Docker守护程序。此标志的存在表示--google-use-internal-ip
。--google-use-internal-ip
:在创建过程中使用此选项时,docker-machine使用内部而不是公共NATed IP。在使用该标志创建的机器保留IP的意义上,该标志是持久的。这对于管理来自同一网络中另一台计算机的docker计算机非常有用,例如在部署swarm时。--google-username
:用于实例的用户名。--google-zone
:启动实例的区域。
ubuntu-1604-xenial-v20161130
除非另有说明,否则GCE驱动程序将使用实例映像。要获取图像URL的列表,请运行:
gcloud compute images list --uri
Google Compute Engine支持图像系列。图像系列就像一个图像别名,该别名始终指向该系列中的最新图像。要从图像系列创建实例,请设置--google-machine-image
为图像系列的URL。
以下命令显示图像及其所属的家族(如果有):
gcloud compute images list
要获取家庭网址,请在以下模板中替换<PROJECT>
和<FAMILY>
。
https://www.googleapis.com/compute/v1/projects/<PROJECT>/global/images/family/<FAMILY>
例如,要从最新的Ubuntu 16 LTS映像创建实例,请指定
https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/family/ubuntu-1604-lts
。
环境变量和默认值
CLI选项 | 环境变量 | 默认 |
---|---|---|
--google-address |
GOOGLE_ADDRESS |
-- |
--google-disk-size |
GOOGLE_DISK_SIZE |
10 |
--google-disk-type |
GOOGLE_DISK_TYPE |
pd-standard |
--google-machine-image |
GOOGLE_MACHINE_IMAGE |
ubuntu-1510-wily-v20151114 |
--google-machine-type |
GOOGLE_MACHINE_TYPE |
f1-standard-1 |
--google-network |
GOOGLE_NETWORK |
default |
--google-preemptible |
GOOGLE_PREEMPTIBLE |
-- |
--google-project |
GOOGLE_PROJECT |
-- |
--google-scopes |
GOOGLE_SCOPES |
devstorage.read_only,logging.write |
--google-subnetwork |
GOOGLE_SUBNETWORK |
-- |
--google-tags |
GOOGLE_TAGS |
-- |
--google-use-existing |
GOOGLE_USE_EXISTING |
-- |
--google-use-internal-ip |
GOOGLE_USE_INTERNAL_IP |
-- |
--google-username |
GOOGLE_USERNAME |
docker-user |
--google-zone |
GOOGLE_ZONE |
us-central1-a |