Kustomize用于Kubernetes,但在Python中

kustomize的Python项目详细描述


用Python为Kustomize构建Kubernetes清单!在

https://img.shields.io/pypi/v/kustomize.svg ^{1}$ https://img.shields.io/travis/yougov/python-kustomize/master.svg

概述

这个项目存在的原因是为了更容易创建动态的 要导出以在Kubernetes的“Kustomize”工具中使用的清单。然后,由 使用Python并支持“dataclasses”语言特性,它也有帮助 通过鼓励代码重用来减少样板文件。在

Kustomize本身就已经是一个非常强大的工具,而且有可能 使用不同的应用程序处理覆盖物 如果需要通过定义清单参数,那么它不够动态 例如,环境变量。所以这个项目旨在弥补这个差距。在

Kustomize的补充

这个项目并不是Kustomize的替代品,而是一个 补充。这个想法是从Python文件生成kustominization文件,并且 然后使用kubectl apply -kkustomize build将它们转换为 Kubernetes的最终清单(甚至将它们应用于集群)。在

换句话说,我们的想法是将Python文件“编译”成Kustomize文件,然后 只需在其余的部署中使用Kustomize。在

安装

此项目的唯一强制依赖项是PyYAML。除此之外,你 如果您想使用它们的类,并且 在Python3.6上运行时,可以安装dataclasses来使用它们 这个项目只在python3.7和3.8上测试过,可能在3.6上运行良好。在

此软件包将以kustomize的形式提供;您可以使用pip安装它, 例如:

$ pip install kustomize

如果尚未安装PyYAML,也将安装它。在

或者,您可以使用任何其他能够安装的包管理器 来自PyPI的包。在

使用

总结如下:

  1. 编写一个源目录,其中包含代表Kustomize的Python文件 文件(请参阅python-kustomize/tests/fixtures/上的目录)

  2. 你跑步:

    ^{pr2}$

    其中<dest-dir>将在哪里 存储Kustomize YAML文件的目录

  3. 然后,您可以将生成的Kustomize文件应用到集群中:

    $ kubectl apply -f <dest-dir>
    

    完成了!在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java IntelliJ找不到依赖项选项卡   java向字符串数组string[]添加元素并在Junit中测试结果   如何在eclipse中获取活动java项目的名称   如何使用java在mysql中插入时间   java ArrayList更新了插入一行,但Jtable仍然没有刷新   如何在JavaSwing中命名坐标(点)   java Matcher/模式不打印   java错误地设置了arraylist   使用UsernamePasswordCredential提供程序的java列表Azure AD   java在HTTP请求中设置UTC时间   未加载事件:jquery完整日历Java集成   java Maven插件依赖项无法从内部repo解析依赖项   Maven更新重置Java版本   java如何向中添加图片。带有Apache POI XWPF的docx,但不指定其大小   Java最大函数递归