Kubernetes的自定义化,但使用Python实现
项目描述
在Python中为Kubernetes的自定义化构建manifests!
概述
这个项目存在的目的是为了更容易创建用于在Kubernetes的“Kustomize”工具中使用的高动态manifests。同时,通过使用Python和“dataclasses”语言功能,它还有助于通过鼓励代码重用来减少样板代码。
Kustomize本身是一个非常强大的工具,可以通过使用“overlays”方法处理不同的应用程序和环境;但是,如果您需要通过环境变量定义manifests参数,例如,则它可能不够动态。因此,这个项目旨在填补这一空白。
为Kustomize提供补充
这个项目绝对不是Kustomize的替代品,而是一个补充。想法是从Python文件生成kustomization文件,然后使用kubectl apply -k或kustomize build将它们转换为Kubernetes的最终manifests(甚至将它们应用到集群中)。
换句话说,想法是将Python文件“编译”成Kustomize文件,然后仅使用Kustomize来完成其余的部署。
安装
该项目唯一的强制依赖项是PyYAML。这个库支持多种对象定义类型
dict
dataclasses
BaseModel(来自Pydantic)
attr(需要安装库)
kubernetes(需要安装库)
此包将以kustomize的形式提供;您可以使用pip进行安装,例如
$ pip install kustomize
如果尚未安装,这将也会安装PyYAML。
或者,您可以使用任何其他能够从PyPI安装软件包的包管理器。
用法
总结如下
您编写一个源目录,包含表示Kustomize文件的Python文件(请参阅python-kustomize/tests/fixtures/中的目录);
然后您运行
$ pykustomize <source-dir> <dest-dir>
其中<dest-dir>将是放置Kustomize YAML文件的目录;
然后您可以将生成的Kustomize文件应用到您的集群中
$ kubectl apply -f <dest-dir>
就完成了!
项目详情
下载文件
下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。
源分布
构建分布
kustomize-0.6.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 75a7587a6428e58e73aa52691ca4fb0fee355a9435f39dcb6c6f8600f7fc4ea3 |
|
MD5 | 4ccde3df3ab0b98767ca459f9848b8b3 |
|
BLAKE2b-256 | 56cff07cb2ca4a685d650d84399c23b9ba30eb7a841398e993ce654a9d65c10b |
kustomize-0.6.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d63da5e4461d369d16dccb1e4754f2aefe17d506ec0a19aac6ead0924638ced9 |
|
MD5 | f7c367a43101308ca3eaeaff81f02222 |
|
BLAKE2b-256 | 7753a50ddd71075b9fb3803772fbe9b72db3d734a4e7f8056e968f4c150f0ab3 |