Kuby-core: Krane::FatalDeploymentError:模板验证失败

创建于 2020-08-11  ·  13评论  ·  资料来源: getkuby/kuby-core

部署克兰时会爆炸。 这是 v. 0.7.0的部署

KUBY_DOCKER_TAG=latest bundle exec rake kuby:deploy --trace我已将标签设置为最新以绕过其他问题:)

这就是我得到的:

* 调用 kuby:deploy (first_time)*执行 kuby:deploy
验证全局资源,命名空间“my-app-production”
命名空间/my-app-production 已配置(试运行)
部署命名空间“my-app-production”
命名空间/我的应用程序生产不变
[信息][2020-08-11 09:15:10 +0200]
[信息][2020-08-11 09:15:10 +0200] --------------------------------- ---第一阶段:初始化部署------------------------
[INFO][2020-08-11 09:15:11 +0200] 所有必需的参数和文件都存在
[INFO][2020-08-11 09:15:11 +0200] 发现资源:
[INFO][2020-08-11 09:15:13 +0200] - 部署/my-app-web
[信息][2020-08-11 09:15:13 +0200] - 秘密/my-app-web-mysql-secret
[信息][2020-08-11 09:15:13 +0200]-ServiceAccount/my-app-sa
[信息][2020-08-11 09:15:13 +0200] - ConfigMap/my-app-config
[INFO][2020-08-11 09:15:13 +0200] - 秘密/my-app-registry-secret
[信息][2020-08-11 09:15:13 +0200] - 入口/我的应用入口
[INFO][2020-08-11 09:15:13 +0200] - Secret/my-app-secrets
[信息][2020-08-11 09:15:13 +0200] - ClusterIssuer/letsencrypt-production
[信息][2020-08-11 09:15:13 +0200] - MySQL/my-app-web-mysql
[信息][2020-08-11 09:15:13 +0200] - 秘密/my-app-web-mysql-secret
[信息][2020-08-11 09:15:13 +0200] - MySQL/my-app-web-mysql
[信息][2020-08-11 09:15:13 +0200] - 服务/my-app-svc
[信息][2020-08-11 09:15:15 +0200]
[信息][2020-08-11 09:15:15 +0200] --------------------------------- ---------结果:失败-------------------------- -----
[致命][2020-08-11 09:15:16 +0200] 模板验证失败
[致命][2020-08-11 09:15:16 +0200]
[致命][2020-08-11 09:15:16 +0200] 无效模板:ClusterIssuer-letsencrypt-production20200811-60914-uybj4y.yml
[致命][2020-08-11 09:15:16 +0200] > 错误消息:
[致命][2020-08-11 09:15:16 +0200] W0811 09:15:13.103161 60953 helpers.go:535] --dry-run 已弃用,可以替换为 --dry-run=client。
[致命] [2020-08-11 09:15:16 +0200] 错误:无法识别“/var/folders/9l/3dw7rcl51pq4jfs0kjg99f7c0000gn/T/ClusterIssuer-letsencrypt-production20200811-60914-uybj4y.yml”:没有匹配项版本“cert-manager.io/v1alpha2”中的类型“ClusterIssuer”
[致命][2020-08-11 09:15:16 +0200] > 模板内容:
[致命][2020-08-11 09:15:16 +0200] ---
[致命][2020-08-11 09:15:16 +0200] apiVersion: cert-manager.io/v1alpha2
[致命][2020-08-11 09:15:16 +0200] 种类:ClusterIssuer
[致命][2020-08-11 09:15:16 +0200] 元数据:
[致命][2020-08-11 09:15:16 +0200] 名称:letsencrypt-production
[致命][2020-08-11 09:15:16 +0200] 命名空间:证书管理器
[致命] [2020-08-11 09:15:16 +0200] 规格:
[致命][2020-08-11 09:15:16 +0200] 极致:
[致命][2020-08-11 09:15:16 +0200] 服务器:https://acme-v02.api.letsencrypt.org/directory
[致命][2020-08-11 09:15:16 +0200] 电子邮件:[email protected]
[致命] [2020-08-11 09:15:16 +0200] privateKeySecretRef:
[致命][2020-08-11 09:15:16 +0200] 名称:letsencrypt-production
[致命][2020-08-11 09:15:16 +0200] 求解器:
[致命][2020-08-11 09:15:16 +0200] - http01:
[致命][2020-08-11 09:15:16 +0200] 入口:
[致命][2020-08-11 09:15:16 +0200] 类:nginx
[致命][2020-08-11 09:15:16 +0200]
[致命][2020-08-11 09:15:16 +0200]
[致命][2020-08-11 09:15:16 +0200] 无效模板:MySQL-my-app-web-mysql20200811-60914-1rs7vqx.yml
[致命][2020-08-11 09:15:16 +0200] > 错误消息:
[致命][2020-08-11 09:15:16 +0200] W0811 09:15:13.122295 60956 helpers.go:535] --dry-run 已弃用,可以替换为 --dry-run=client。
[致命][2020-08-11 09:15:16 +0200] 错误:无法识别“/var/folders/9l/3dw7rcl51pq4jfs0kjg99f7c0000gn/T/MySQL-my-app-web-mysql20200811-60914-1rs7vqx.yml” : 在版本 "kubedb.com/v1alpha1" 中没有匹配类型 "MySQL"
[致命][2020-08-11 09:15:16 +0200] > 模板内容:
[致命][2020-08-11 09:15:16 +0200] ---
[致命][2020-08-11 09:15:16 +0200] 种类:MySQL
[致命][2020-08-11 09:15:16 +0200] apiVersion:kubedb.com/v1alpha1
[致命] [2020-08-11 09:15:16 +0200] 规格:
[致命][2020-08-11 09:15:16 +0200] 终止策略:DoNotTerminate
[致命][2020-08-11 09:15:16 +0200] 存储类型:耐用
[致命][2020-08-11 09:15:16 +0200] 版本:5.7-v2
[致命][2020-08-11 09:15:16 +0200] 存储:
[致命][2020-08-11 09:15:16 +0200] 访问模式:
[致命][2020-08-11 09:15:16 +0200] - ReadWriteOnce
[致命][2020-08-11 09:15:16 +0200] storageClassName: do-block-storage
[致命][2020-08-11 09:15:16 +0200] 资源:
[致命][2020-08-11 09:15:16 +0200] 请求:
[致命][2020-08-11 09:15:16 +0200] 存储:10Gi
[致命][2020-08-11 09:15:16 +0200] 数据库秘密:
[致命][2020-08-11 09:15:16 +0200] 秘密名称:my-app-web-mysql-secret
[致命][2020-08-11 09:15:16 +0200] 元数据:
[致命][2020-08-11 09:15:16 +0200] 名称:my-app-web-mysql
[致命][2020-08-11 09:15:16 +0200] 命名空间:my-app-production
[致命][2020-08-11 09:15:16 +0200]
[致命][2020-08-11 09:15:16 +0200]
[致命][2020-08-11 09:15:16 +0200] 无效模板:MySQL-my-app-web-mysql20200811-60914-1na8no.yml
[致命][2020-08-11 09:15:16 +0200] > 错误消息:
[致命][2020-08-11 09:15:16 +0200] W0811 09:15:14.705164 60971 helpers.go:535] --dry-run 已弃用,可以替换为 --dry-run=client。
[致命][2020-08-11 09:15:16 +0200] 错误:无法识别“/var/folders/9l/3dw7rcl51pq4jfs0kjg99f7c0000gn/T/MySQL-my-app-web-mysql20200811-60914-1na8no.yml” : 在版本 "kubedb.com/v1alpha1" 中没有匹配类型 "MySQL"
[致命][2020-08-11 09:15:16 +0200] > 模板内容:
[致命][2020-08-11 09:15:16 +0200] ---
[致命][2020-08-11 09:15:16 +0200] 种类:MySQL
[致命][2020-08-11 09:15:16 +0200] apiVersion:kubedb.com/v1alpha1
[致命] [2020-08-11 09:15:16 +0200] 规格:
[致命][2020-08-11 09:15:16 +0200] 终止策略:DoNotTerminate
[致命][2020-08-11 09:15:16 +0200] 存储类型:耐用
[致命][2020-08-11 09:15:16 +0200] 版本:5.7-v2
[致命][2020-08-11 09:15:16 +0200] 存储:
[致命][2020-08-11 09:15:16 +0200] 访问模式:
[致命][2020-08-11 09:15:16 +0200] - ReadWriteOnce
[致命][2020-08-11 09:15:16 +0200] storageClassName: do-block-storage
[致命][2020-08-11 09:15:16 +0200] 资源:
[致命][2020-08-11 09:15:16 +0200] 请求:
[致命][2020-08-11 09:15:16 +0200] 存储:10Gi
[致命][2020-08-11 09:15:16 +0200] 数据库秘密:
[致命][2020-08-11 09:15:16 +0200] 秘密名称:my-app-web-mysql-secret
[致命][2020-08-11 09:15:16 +0200] 元数据:
[致命][2020-08-11 09:15:16 +0200] 名称:my-app-web-mysql
[致命][2020-08-11 09:15:16 +0200] 命名空间:my-app-production
[致命][2020-08-11 09:15:16 +0200]
耙中止!
Krane::FatalDeploymentError:模板验证失败

所有13条评论

看起来您的集群不知道ClusterIssuerMySQL对象。 你在部署之前运行rake kuby:setup吗?

啊,错过了指南的那一步! 谢谢!

@traels你能让事情顺利进行吗?

抱歉 - 忘记回复您了!
我设法运行了 kuby:setup - 然后我的集群在 Digital Ocean 上崩溃了,所以现在我想我需要创建一个新的 kubernetes 集群再试一次。 希望下周能有更多的时间玩。

@traels哦,天哪,哇! 如果我可以问,发生了什么?

不知道 - Kuby 刚刚说 kubernetes 没有响应。 尝试在 DO 上重新启动,但这没有帮助。

嗯很有趣。 在尝试与 DOKS 集群通信时,我肯定看到挂起。 它通常会在一个小时左右自行修复。 相当糟糕的体验,也许 Linode 会更好?

今天起得很早 - 现在我的集群工作正常,部署成功:)
... 下一个问题,如何在 docker 中处理 Rails 资产? 我所有的资产都不见了

嗯,这很好奇……资产应该被编译到 Docker 映像中。 哦,但我敢打赌没有什么是为他们服务的! 您可以尝试在您的 production.rb 中设置config.public_file_server.enabled = true吗? 那应该可以解决问题。 我也会提交一个错误,因为这应该可以开箱即用:)

那么在 kubernetes 上,人们使用 ruby​​ 网络服务器来服务资产?

不,但这是我能想到的最快的解决方法,呵呵。 Kuby 应该有更好的选择,但这需要一些工作。

我应该扩展一下:大多数拥有任何规模的 Rails 应用程序的人都倾向于从 CDN 提供静态资产。 这些资产的来源通常类似于 S3 存储桶,但很可能是 Rails 应用程序本身。 由于 99% 的时间 CDN 将为资产提供服务,因此最初为它们查询 Rails 应用程序不会对性能产生太大影响。

昨天提交了一个问题来跟踪这个: https ://github.com/getkuby/kuby-core/issues/12

Kuby v0.8.0 带有一个功能齐全的资产服务器(nginx),因此应用程序本身应该不再需要服务资产了 :)

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

hovancik picture hovancik  ·  5评论

kingdonb picture kingdonb  ·  6评论

ghost picture ghost  ·  3评论

mlapshin picture mlapshin  ·  3评论

alexcoplan picture alexcoplan  ·  3评论