我想知道是否可以仅使用舵图来生成k8s对象本身。
我们正在使用由openshift
管理的多个k8s集群。
Helm不适用于多个openshift集群,
因此我们认为使用oc
会更好(主要用于多个集群的身份验证和授权)。
头盔动态k8s对象非常强大,我们希望继续使用它们。
可以告诉头盔从给定的yaml
文件和values
文件生成对象,并将它们传递给oc replace
吗?
答案 0 :(得分:4)
OpenShift拥有自己的内部模板引擎,该引擎与掌舵有明显的重叠,但集成度更高。
您可以在官方OpenShift文档的RequireJs部分中找到有关此文档的信息。
使用这些模板时,可以使用oc process
命令从参数化模板中生成对象定义。
$ oc process -f my-rails-postgresql \
-p POSTGRESQL_USER=bob \
-p POSTGRESQL_DATABASE=mydatabase
您可以使用oc create
$ oc process -f my-rails-postgresql \
-p POSTGRESQL_USER=bob \
-p POSTGRESQL_DATABASE=mydatabase \
| oc create -f -
我个人认为使用OpenShift时掌舵是过大的,因为开箱即用的模板引擎通常就足够了。
如果您需要比这更复杂的东西,那么我倾向于将部署打包在ansible剧本,jinja2模板和Templates ansible模块中,而不是运行helm和tiller。