您可以找到我的 pyhelm fork 示例和 Python3 支持。
git clone git@github.com:andriisoldatenko/pyhelm.git
cd pyhelm && python setup.py install
如何使用 Pyhelm
首先你需要 repo_url 和图表名称来下载图表
from pyhelm.repo import from_repo
chart_path = chart_versions = from_repo('https://kubernetes-charts.storage.googleapis.com/', 'mariadb')
print(chart_path)
"/tmp/pyhelm-kibwtj8d/mongodb"
现在可以看到mongodb的那个chart文件夹::
In [3]: ls -la /tmp/pyhelm-kibwtj8d/mongodb
total 40
drwxr-xr-x 7 andrii wheel 224 Mar 21 17:26 ./
drwx------ 3 andrii wheel 96 Mar 21 17:26 ../
-rwxr-xr-x 1 andrii wheel 5 Jan 1 1970 .helmignore*
-rwxr-xr-x 1 andrii wheel 261 Jan 1 1970 Chart.yaml*
-rwxr-xr-x 1 andrii wheel 4394 Jan 1 1970 README.md*
drwxr-xr-x 8 andrii wheel 256 Mar 21 17:26 templates/
下一步构建 ChartBuilder 实例以使用 Tiller 进行操作::
from pyhelm.chartbuilder import ChartBuilder
chart = ChartBuilder({'name': 'mongodb', 'source': {'type': 'directory', 'location': '/tmp/pyhelm-kibwtj8d/mongodb'}})
# than we can get chart meta data etc
In [9]: chart.get_metadata()
Out[9]:
name: "mongodb"
version: "0.4.0"
description: "Chart for MongoDB"
安装图表::
from pyhelm.chartbuilder import ChartBuilder
from pyhelm.tiller import Tiller
chart = ChartBuilder({'name': 'mongodb', 'source': {'type': 'directory', 'location': '/tmp/pyhelm-kibwtj8d/mongodb'}})
chart.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 {....
}