我正在尝试在.jinja
文件中部署容器,我知道可以使用.yaml
文件来完成此操作,但希望通过单个.yaml
文件调用来完成我的部署多个.jinja
文件。
这是我目前在.jinja
文件中用于容器部署的内容:
resources:
- name: test-cluster
type: container.v1.cluster
properties:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
并且我目前收到错误消息:
ERROR: (gcloud.deployment-manager.deployments.create) Error in Operation [operation-1542747397856-57b1edea09b01-d7bff680-2f96dfe0]: errors:
- code: CONDITION_NOT_MET
location: /deployments/deployment-test/resources/test-cluster->$.properties->$.cluster.name
message: |-
InputMapping for field [cluster.name] for method [create] could not be set from input, mapping was: [$.ifNull($.resource.properties.cluster.name, $.resource.name)
答案 0 :(得分:0)
This github repo是您要整体完成的示例。请注意,在文件cluster.jinja的属性下,有一个称为“集群”的列表,该列表指定群集本身的属性,例如节点数等。下面复制/粘贴。在提供的文件中,您要指定container.v1.cluster类型,但没有指定该类型所隐含的含义(创建集群所必需的)。该错误表明该程序正在寻找“群集:名称:{{CLUSTER_NAME}}”,但它不存在。container.v1.cluster类型需要类似以下内容。
resources:
- name: {{ CLUSTER_NAME }}
type: container.v1.cluster
properties:
zone: {{ properties['zone'] }}
cluster:
name: {{ CLUSTER_NAME }}
initialNodeCount: {{ properties['initialNodeCount'] }}
nodeConfig:...
该github存储库中还有一个名为deployment.jinja的文件,其中包含用于部署Pod的语法。您应该尝试复制类似于该文件的内容来指定Pod