Kubernetes 使用Deployment.yaml文件进行部署

Kubernetes 使用Deployment.yaml文件进行部署,kubernetes,yaml,continuous-deployment,Kubernetes,Yaml,Continuous Deployment,我有一个通过CircleCI for kubernetes的部署文件,它无论如何都不会通过。这就是my deployment.yaml包含的内容: 种类:部署 apiVersion:extensions/v1beta1 元数据: 名称:使用指标 名称空间:foo 标签: foo应用程序:使用指标 规格: 副本:1份 选择器: 火柴标签: foo应用程序:使用指标 模板: 元数据: 标签: foo应用程序:使用指标 名称:使用指标 规格: 终止时间:60秒 你的秘密: -姓名:regsecret

我有一个通过CircleCI for kubernetes的部署文件,它无论如何都不会通过。这就是my deployment.yaml包含的内容:

种类:部署
apiVersion:extensions/v1beta1
元数据:
名称:使用指标
名称空间:foo
标签:
foo应用程序:使用指标
规格:
副本:1份
选择器:
火柴标签:
foo应用程序:使用指标
模板:
元数据:
标签:
foo应用程序:使用指标
名称:使用指标
规格:
终止时间:60秒
你的秘密:
-姓名:regsecret
容器:
-图:foo/使用指标
名称:应用
环境:
-名称:临时环境变量
值:“temp”
端口:
-集装箱港口:8080

出于某种原因,当我将其推过时,我一直会遇到此错误:

“STDIN”:验证数据时出错:[ValidationError(Deployment.spec.template.spec.containers[0].env):io.k8s.api.core.v1.Container.env的类型无效:获取“字符串”,应为“数组”,ValidationError(Deployment.spec.template.spec):io.k8s.api.core.v1.PodSpec中未知字段“端口”

CCI配置的部署部分:


echo“::部署到$CONTEXT”
导出集群_ID=$CONTEXT
cd$SOURCE\u路径
杜兰特\
--上下文$context\
--名称空间foo\
--ssh主机deploy@bastion.$CTL_上下文\
--超时8m\
--图像“应用程序=$(cat新标签)”\
--文件deployment.yaml

我确信env是一个数组而不是字符串,所以我不确定为什么会发生这种情况,请帮助!
谢谢

yaml在粘贴时看起来有效。用CircleCI中使用的
kubectl
方法检查是否有东西在添加字符或破坏缩进。

因此我最终找到了答案。出于某种原因,CircleCI正在对照主分支检查我的代码(它在后面)。当我通过另一个更新更多的分支进入CCI时,它仍然不喜欢我的主分支在env槽中有一个字符串。只要我一更新一切正常。谢谢大家

您是如何进行部署的?yaml肯定是有效的,我通过circleCiyes部署,但如何部署?为CircleCiff发布您的配置出于某种原因,它还认为端口是规范的子级,而不是容器只是为了添加config的deploy部分而编辑的