如何从 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 中创建资源。
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
我已经使用以下命令安装了带有 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 中创建资源。
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