helm 使用技巧
Helm通过.Files对象提供对文件的访问,例如Files.Get是一个按名称获取文件的函数(.Files.Get config.ini)。下面是几个要注意的点:
向Helm chart添加额外的文件是可以的。这些文件将被捆绑并发送给Tiller。不过要注意,由于Kubernetes对象的存储限制,chart必须小于1M。
通常出于安全原因,某些文件不能通过.Files对象访问。
templates/下的文件。
使用.helmignore排除的文件不能被访问。
Glob 函数
Glob是一个可以一次获取多个文件的函数。
有时候想要将文件内容放到configmap里,则可以用Glob ,ConfigMap和Secrets配合实现:
apiVersion: v1kind: ConfigMapmetadata: name: confdata:{{ (.Files.Glob "meng/*").AsConfig | indent 2 }}---apiVersion: v1kind: Secretmetadata: name: very-secrettype: Opaquedata:{{ (.Files.Glob "meng/*").AsSecrets | indent 2 }}#更新操作
helm upgrade -i $SERVICE_NAME meta-cm/$SERVICE_NAME -f helm-chart/$SERVICE_NAME/values-$IMAGE_DIR.yaml
#命令格式: helm upgrade release名字 chart包目录
#默认情况下,如果release名字不存在,upgrade会失败,可以加上-i 参数当release不存在的时候则安装,存在则更新,将install和uprade命令合并
#helm查看服务列表,指定命名空间
helm list --all -n metaverse