问题标签 [google-deployment-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-cloud-platform - 如何通过 GCP 部署管理器更新机器类型属性
我有一个 python 模板,如下所示,用于计算实例类型以及其他需要的 config.yaml 文件。
...
CONTROLLER_MACHINE_TYPE='n1-standard-8'
controller_template = {
'name': 'controller-it',
'type': 'it_template.py',
'properties': {
'machineType': CONTROLLER_MACHINE_TYPE,
'dockerImage': CONTROLLER_IMAGE,
'dockerEnv': {
'ADC_LISTEN_QUEUE': 'controller-subscriber'
},
'zone': ZONE,
'network': NETWORK_NAME,
'saEmail': SA_EMAIL
}
}
it_template.py 内容
我已经将它部署到名为 qa 的环境中。现在过了一段时间我意识到我需要改变这个实例的机器类型。例如,我希望我的 qa 环境更新此资源的机器类型,而不是 n1-standard-8。
但是,我没有看到任何提到更新任何资源属性的示例。
我们可以使用 gcp 部署管理器更新环境中资源的属性吗?或者我需要添加一个具有其他名称和所需机器类型属性的新资源?
更新
正如@jordi Miralles 所建议的那样,我修改了我的模板以将 machineType 设置为 n1-standard-16 并尝试更新部署。
但我得到以下错误
cloud deployment-manager deployments update qa --config dm_config.yaml
The fingerprint of the deployment is KkD38j9KYiBTiaIW8SltbA==
Waiting for update [operation-1525444590548-56b623ef1b421-b4733efd-53174d1b]...failed.
ERROR: (gcloud.deployment-manager.deployments.update) Error in Operation [operation-1525444590548-56b623ef1b421-b4733efd-53174d1b]: errors:
- code: NO_METHOD_TO_UPDATE_FIELD
message: No method found to update field 'properties' on resource 'controller-it'
of type 'compute.v1.instanceTemplate'. The resource may need to be recreated with
the new field.
请帮忙。
google-cloud-platform - 无法使用服务帐户订阅 google pub 子主题
我试图理解此链接中存在的谷歌云示例中给出的示例
此示例创建一个服务帐户、一个 VM 和一个 Pub/Sub 主题。VM 作为服务帐户运行,并且服务帐户具有订阅者对 Pub/Sub 主题的访问权限,从而使在 VM 上运行的服务和应用程序可以访问 Pub/Sub 主题。
但是,当我尝试部署此示例时,出现以下错误
它提到用户无权执行此操作。我无法理解它提到的是哪个用户。由于我是项目所有者并且我的帐户是项目的所有者,我应该能够部署一个脚本,该脚本可以设置 IAM 策略以订阅 pubsub 主题。
可能是我上面的理解有误。有人可以帮助理解为什么这个例子失败了吗?
另外我希望如果运行此示例需要任何其他配置,则应在 README 文件中提及。但是没有说明。
google-cloud-platform - GCP Deployment Manager: 403 does not have storage.buckets.get access
I am trying to create a bucket using Deployment manager but when I want to create the deployment, I get the following error:
If I understand it correctly, the deployment manager uses a service account (as described in the message) to actually create all my resources. I've checked IAM and made sure that the service role (myprojectid@cloudservices.gserviceaccount.com
) does have access as "Editor" and even added "Storage Admin" (which includes storage.buckets.get
) to be extra sure. However, I still get the same error message.
Am I assigning the permissions to the wrong IAM user / what am I doing wrong?
command used:
my deployment template:
bucket.jinja
posts.yml
google-cloud-platform - 如何在 GCP 中的 DeploymentManager 创建 VM 实例时包含防火墙
我的 yaml 模板如下,我想添加防火墙属性以允许 http 流量:
google-cloud-platform - 您可以通过 GDM 将更改传播到多个项目吗?
如果我通过 GDM(谷歌部署管理器)描述和管理我的 GCP 项目中的资源,是否可以通过 GDM(谷歌部署管理器)将更改传播到多个谷歌云项目?
具体来说,我正在考虑通过 GDM 定义 BigQuery 架构(数据集和表集),然后在众多项目中同步该架构(每个项目都有自己的 BigQuery 数据库)。因此,理想情况下,如果我进行架构更新(例如向表中添加列),我只需要更新一个“部署”即可将架构更改传播到所有相关项目。
google-cloud-platform - 部署管理器:操作失败,因为另一个操作已经在进行中
我想在一个 cloudsql 实例中创建两个数据库。但是如果按照下面的方式写,就会报错。
输出:
请告诉我如何解决该错误。
google-cloud-platform - 如何使用部署管理器在 google-cloud-platform 中使用用户名和密码创建 mysql 数据库?
我需要在下面添加数据库、root 或用户、密码:
google-cloud-platform - 如何使用部署管理器跨区域部署
我找到了在一个区域中跨多个区域部署实例组的 gcloud 命令行和 api 示例,但除了将您想要的区域设置为数组并迭代之外,似乎没有其他任何东西可以对部署管理器执行相同的操作在 for 循环中通过该数组。有人对此有答案吗?谢谢。
google-cloud-platform - Google 部署管理器存储的运行时配置变量显示已损坏
我在通过 runtimeconfig.v1beta1.config 资源声明在 Google 部署管理器中使用加密的 base64 编码值时遇到问题。
执行部署后,我使用 Deployment Manager 存储的值似乎与我使用 gcloud beta runtime-configs 检索的值完全不同。结果,我无法解密该值。
首先,我对一些秘密文本进行了加密和 base64 编码:
然后我将其存储在部署管理器 YAML 文件中:
然后我创建部署(完成时没有错误或警告):
但是当我尝试提取变量值时,它与我存储的完全不同:
这是可重复/可重现的,我不知道我做错了什么。gcloud beta runtime-config variables set
使用后跟没有这个问题get-value
。