如何从 helm configmaps 创建资源/部署资源

how to create resources / deploy resources from helm configmaps

我已经使用以下命令安装了带有 helm v2 的 helm chart。

helm2 install stable/tensorflow-notebook -n tf2

它创建了以下资源。


NAME                                           READY   STATUS              RESTARTS   AGE
pod/tf2-tensorflow-notebook-67c5df968b-rlhsm   0/2     ContainerCreating   0          89s

NAME                              TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)                         AGE
service/tf2-tensorflow-notebook   LoadBalancer   10.0.148.137   13.83.244.95   6006:32351/TCP,8888:32147/TCP   89s

NAME                                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/tf2-tensorflow-notebook   0/1     1            0           90s

NAME                                                 DESIRED   CURRENT   READY   AGE
replicaset.apps/tf2-tensorflow-notebook-67c5df968b   1         1         0       90s

此版本在 kube-system 命名空间中创建了修订作为 configmap。

tf2.v1                               1      114s

使用以下命令备份了 configmap。

kubectl get configmap -n kube-system -l "OWNER=TILLER" -o yaml > mychart/template/helm_release.yaml

删除了 helm“tf2”版本。

helm2 delete tf2
helm2 delete --purge tf2

我尝试了以下命令来重新创建资源。参考 ref1.

helm2 install --name tf3 ./mychart 

出现以下错误:

Error: no Chart.yaml exists in directory "/home/username/mychart"

现在,我想从 configmap 备份 create/restore resources/release“tf2”。我不太确定,如果我们可以从这个 configmap 中创建资源。

ref1 ref2

kube-system 命名空间中的 ConfigMap 是 Helm 使用的内部状态。你不能用它做任何事情,它不是你需要备份或以其他方式从集群中提取的东西。 (问题中的“ref2”link 指出它存在,但你不能以任何有用的方式反编译它。)同样,没有办法恢复它,将它添加到不同的 Helm 图表。

如果要对图表进行第二次重复安装,有两个命令可以提供帮助。 helm fetch stable/tensorflow-notebook 会给你一个包含上游图表的本地 tar 文件,所以即使它在上游存储库中发生变化,你也会有它的本地副本。 helm get values tf2 将写出用于安装图表的组合 YAML 配置集。

实际上,这应该可以复制安装:

# Get the existing values from the installed release
helm get values tf2 > tf.yaml

# Reinstall using those values
helm install --name tf4 stable/tensorflow-notebook -n tf4 -f tf.yaml

如果使用固定版本的图表很重要:

helm fetch stable/tensorflow-notebook
helm install --name tf5 ./tensorflow-notebook-*.tgz -n tf5 -f tf.yaml