【发布时间】:2019-09-23 17:04:26
【问题描述】:
我正在使用 GCP 部署管理器来部署 gcp 云存储桶。我的 YAML 文件上传到另一个现有的 gcp 云存储桶中,我在 gcp cloud shell 上运行以下命令以创建部署。我在命令中指定链接 url 以创建部署(见下文)
$gcloud config set project my-project-name
$gcloud deployment-manager deployments create bkt-deployer --config https://storage.cloud.google.com/mybucket/UCABkt-V4.yaml
我得到以下错误
Failed to parse YAML: mapping values are not allowed here
in "<unicode string>", line 11, column 14:
font-family: 'Open Sans';
^ (line: 11)
我认为尽管指定了错误的存储桶名称,但仍收到 YAML 解析错误,因此我怀疑这是由于 YAML 无法访问造成的。我尝试修复存储桶和单个 YAML 的权限,但无济于事。我仍然收到此错误,我认为这确实具有误导性。
虽然实际的 YAML 格式不相关,但仅供参考,我的 YAML 文件如下所示(参见代码块)
resources:
- name: deployment-manager-bucket-2
type: storage.v1.bucket
properties:
predefinedAcl: projectPrivate
projection: full
location: US
storageClass: STANDARD
lifecycle:
rule:
- action:
type: SetStorageClass storage_class = "NEARLINE"
condition:
age: 30
- action:
type: SetStorageClass storage_class = "COLDLINE"
condition:
age: 90
几个问题
1) 向部署管理器提供 YAML 配置的最佳方式是什么?将 yaml 配置文件上传到 gcp 对象存储桶,然后像我一样指定其链接 URL,这是一个最佳选择吗?还是有另一种方法可以将 YAML 路径提供给 gcp cloud shell 以进行部署创建?
2) 假设最终我克服了指定 YAML 路径的部署并确保没有访问和权限问题的障碍,我的 YAML 语法看起来还好吗?尤其是在老化 30 天和 90 天时分别分配 Nearline 和 Coldline 存储类的生命周期规则规范
非常感谢您的帮助。
最好的问候
瑜伽
【问题讨论】:
-
您使用哪个编辑器创建 YAML?错误消息看起来像是您使用了文档编辑器,它会格式化文本以供显示。
标签: deployment google-cloud-platform yaml google-cloud-storage