我有以下我的python脚本中定义的启动脚本变量:
default_startup_script = """
#! /bin/bash
cd ~/git/gcloud;
git config --global user.email "my.email@gmail.com";
git config --global user.name "my.name";
git stash;
git pull https://user:pw@bitbucket.org/url/my_repo.git;
"""
和以下配置:
config = {
"name": "instance-bfb6559d-788f-48b7-85a3-8ff3ab6e5a60",
"zone": "projects/username-165421/zones/us-east1-b",
"machineType": "projects/username-165421/zones/us-east1-b/machineTypes/f1-micro",
"metadata": {
"items": [{'key':'startup-script','value':default_startup_script}]
},
"tags": {
"items": [
"http-server",
"https-server"
]
},
"disks": [
{
"type": "PERSISTENT",
"boot": True,
"mode": "READ_WRITE",
"autoDelete": True,
"deviceName": "instance-4",
"initializeParams": {
"sourceImage": "projects/username-165421/global/images/image-id",
"diskType": "projects/username-165421/zones/us-east1-b/diskTypes/pd-standard",
"diskSizeGb": "10"
}
}
],
"canIpForward": False,
"networkInterfaces": [
{
"network": "projects/username-165421/global/networks/default",
"subnetwork": "projects/username-165421/regions/us-east1/subnetworks/default",
"accessConfigs": [
{
"name": "External NAT",
"type": "ONE_TO_ONE_NAT"
}
]
}
],
"description": "",
"labels": {},
"scheduling": {
"preemptible": False,
"onHostMaintenance": "MIGRATE",
"automaticRestart": True
},
"serviceAccounts": [
{
"email": "123456-compute@developer.gserviceaccount.com",
"scopes": [
"https://www.googleapis.com/auth/devstorage.read_only",
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring.write",
"https://www.googleapis.com/auth/servicecontrol",
"https://www.googleapis.com/auth/service.management.readonly",
"https://www.googleapis.com/auth/trace.append"
]
}
]
}
现在 - 实例无问题创建,但启动脚本不会发射。
我正在通过运行:
创建实例compute.instances().insert(
project=project,
zone=zone,
body=config).execute()
从这里取回所有样品。
创建了实例,我手动粘贴了我的启动脚本,它可以无问题。
有人知道我在这里做错了吗?
这有效。我的问题与用户帐户有关。我没有作为默认用户登录( eg : username@instance-id
(。
如果您正在阅读此问题,请确保您打算运行哪个用户名并相应地管理。