我有一个特定的请求,要求在存储Helm缓存的常规位置上以只读文件系统访问的环境中运行Helm template命令(我在AWS Lambda中执行此命令(。我得到的一个错误是:
Error: mkdir .cache: read-only file system
现在,为了克服这个问题,我的想法是:
- 运行特定命令时禁用缓存
- 将HELM_CACHE_HOME指向非只读位置(从EFS文件系统装入的位置(
不幸的是,我无法找到禁用缓存的方法,并且以下命令不起作用(即使在没有任何lambda环境的本地运行时(:
mkdir -p /tmp/helm/.cache/helm
HELM_CACHE_HOME=/tmp/helm/.cache/helm helm template elasticsearch elastic/elasticsearch --dry-run
ls -la /tmp/helm/.cache/helm
total 0
有办法做到这一点吗?感谢
最终,我发现我使用了不正确的环境变量。
对于Helm 3,正确的变量是:
XDG_CACHE_HOME
参考:https://helm.sh/docs/faq/#xdg-基本目录支持
然而,即使这样做有效,文档说HELM_CACHE_HOME也应该有效(事实并非如此(。