Helm的Python客户端

时间:2018-03-28 16:46:24

标签: kubernetes-helm

我正在开发一个应用程序,它根据用户的需求将helm图表部署到kubernetes集群。头盔图存储在github上的私人仓库中。该场景是每当用户请求应用程序部署时,系统从git repo构建图表并构建它并将其部署在集群上.Helm不提供30 years(因为它使用REST api协议与分蘖服务器通信)并且gRPC不是在这种情况下使用的选项,所以我的问题是 他们是否可以在不使用helm cli的情况下调用分蘖服务,例如curl或python-client等。

2 个答案:

答案 0 :(得分:5)

您可以通过示例和Python3支持找到我的pyhelm分支。

git clone git@github.com:andriisoldatenko/pyhelm.git
cd pyhelm && python setup.py install

我在README.md添加了简单的操作方法:

from pyhelm.chartbuilder import ChartBuilder
from pyhelm.tiller import Tiller

chart = ChartBuilder({'name': 'mongodb', 'source': {'type': 'directory', 'location': '/tmp/pyhelm-kibwtj8d/mongodb'}})
t.install_release(chart.get_helm_chart(), dry_run=False, namespace='default')

Out[9]:
release {
  name: "fallacious-bronco"
  info {
    status {
      code: 6
    }
    first_deployed {
      seconds: 1521647335
      nanos: 746785000
    }
    last_deployed {
      seconds: 1521647335
      nanos: 746785000
    }
    Description: "Dry run complete"
  }
  chart {....
}

答案 1 :(得分:1)

我刚完成创建一个可能会有用的新软件包,称为avionix。 pyhelm所做的工作更进一步,并且实际上在python本机对象中实现了所有对应的kubernetes对象。您可以检出here,也可以从pypi安装它

pip install avionix