gpt4 book ai didi

python - 引用模板的输出

转载 作者:太空宇宙 更新时间:2023-11-03 14:03:49 25 4
gpt4 key购买 nike

我有一个部署管理器脚本,如下所示:cluster.py 创建一个 kubernetes 集群,当脚本仅用于创建 k8 集群时,它是成功的 - 所以这意味着 cluster.py 在创建 k8 集群时没有问题

cluster.py 还公开输出:cluster.py 的一小段代码如下:

outputs.append({
'name': 'v1endpoint' ,
'value': type_name + type_suffix })

return {'resources': resources, 'outputs': outputs}

如果我尝试以 $(ref.dmcluster.v1endpoint) 形式访问下面的 dmnginxservice 资源中公开的输出,则会收到错误,因为找不到资源

imports:
- path: cluster.py
- path: nodeport.py

resources:
- name: dmcluster
type: cluster.py
properties:
zone: us-central1-a

- name: dmnginxservice
type: nodeport.py
properties:
cluster: $(ref.dmcluster.v1endpoint)
image: gcr.io/pr1/nginx:latest
port: 342
nodeport: 32123



ERROR: (gcloud.deployment-manager.deployments.create) Error in Operation [operation-1519960432614-566655da89a70-a2f917ad-69eab05a]: errors:
- code: CONDITION_NOT_MET
message: Referenced resource yaml%dmcluster could not be found. At resource
gke-cluster-dmnginxservice.

最佳答案

我尝试重现一个类似的实现,并且我能够使用与输出相同的语法毫无问题地部署它。

我部署了 2 个虚拟机和一个新网络。我将向您发布我的代码,也许您会发现一些有关输出的有趣提示。

  • 第一个虚拟机将第二个虚拟机的名称作为输出传递,并使用来自网络的引用
  • 第二个虚拟机采用从第一个虚拟机的输出填充的属性中的名称
  • 由于引用文献,网络是第一个被创建的网络。

请记住:

This can get tricky because the order of creation for resources is important; you cannot add virtual machine instances to a network that does not exist, or attach non-existent persistent disks. Furthermore, by default, Deployment Manager creates all resources in parallel, so there is no guarantee that dependent resources are created in the correct order.

我会跳过那是一样的。如果您提供代码,我可以尝试帮助您调试它,但从错误代码来看,DM 似乎不知道第一个元素已被创建,但从提供的信息来看并不清楚原因。

此外,如果我是你,我会尝试显式设置 dmnginxservice 依赖于 dmcluster 使用 metadata 。通过这种方式,您可以仔细检查它是否实际上正在等待第一个资源。

更新

我已经能够使用更简单的配置重现该错误,基本上取决于我引用变量的方式,行为不同,并且由于某种原因,该属性扩展为 $(ref.yaml%vm-1. paolo),看来项目和集群引用的组合会带来麻烦。

#'name': context.properties["debug"],WORKING
#'name': context.env["project"],WORKING
'name': context.properties["debug"]+context.env["project"],#NOT WORKING

可以查看配置here ,如果你需要的话。

关于python - 引用模板的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49060188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com