一个简单的kubernets部署管理器
kasane的Python项目详细描述
卡萨内
卡萨内[重_](n.)堆;堆;层
这不是谷歌的官方产品
kasane是kubernetes的一个分层工具。它允许您使用正式发布的yaml文档,并使用本地配置进一步扩展它们。
kasane可以利用jsonnet进行深层物体的修改和修补。
安装
Kasane需要Python3+。通过PIP安装:
pip install kasane
通过自制安装:
brew tap google/kasane https://github.com/google/kasane.git brew install google/kasane/kasane
从Docker容器运行
您可以从Docker容器运行Kasane,官方图像是gcr.io/kasaneapp/kasane
。这张图片基于alpine,除了kasane本身外,还预先打包了bash、curl、git和kubectl。workdir设置为/app
,默认命令为kasane show
,因此您可以快速检查本地kasanefiles,如下所示:
$ docker run --rm -ti -v $PWD/examples/03-environment:/app gcr.io/kasaneapp/kasane
config:
defaultFlag: UNRESOLVED_ENV_VAR__DEFAULT_VALUE
defaultFromKasanefile: value
jsonnetEnv: UNRESOLVED_ENV_VAR__OTHER_VALUE
kind: VendoredObject
metadata:
name: PreconfiguredObject
从0.1.4开始的版本的标记构建也可用作例如gcr.io/kasaneapp/kasane:0.1.4
。
示例
- Simple Layers介绍了kasane的特性。
- Jsonnet Transformations演示如何使用jsonnet转换对象。
- Environment解释如何将外部环境用于自定义管道。
- Complex Service通过使用kubernetes仪表板的上游配置、添加入口和可选地启用istio sidecar,一起显示所有功能。
类似工具
舵
helm是kubernetes的全功能包管理解决方案。与之相比,卡萨内是一把瑞士军刀。它简单、轻量级,不会将助手代码安装到您的产品中。kasane允许您使用应用程序作者编写的原始yaml文件,根据本地需要修改它们。如果您看到一个kubectl apply -f http://
示例,您可以用一行代码将其转换为kasane部署,然后将其扩展到您的需要。
kasane不做任何模板,依赖jsonnet进行数据操作。您不需要计算空格数来确保您的yaml go模板呈现正确。
ksonnet
kasane与ksonnet类似,但使用起来要简单得多。kasane允许重用原始的yaml文件,并将需要编写的自定义jsonnet代码的数量降到最低。大多数情况下,您的kasane项目将由kasane file和单个yaml或jsonnet文件组成。尽管如此,卡萨内仍然允许使用条件层和自定义环境运行时灵活性。
许可证
kasane分布在apache-2license下。请参阅contributing guidelines中有关如何为项目做出贡献的内容。