kubernetes - Hashicorp Vault 在 /sys/expire/id/auth/kubernetes/login/ 下创建了太多文件
问题描述
我有一个简单的 k8s 部署,其中运行 10-15 个 pod,包括一些 statefulset。对于我们的核心服务,我们使用 vault sidecar injector 从 vault 注入秘密。我们使用 NFS 卷作为存储后端。我们观察到的一件事是在保管库 /sys/expire/id/auth/kubernetes/login/ 路径中创建了太多的文件(150000-200000)。
self._client.create_kubernetes_role(name=role_name,
bound_service_account_namespaces=namespaces,
bound_service_account_names=account_names,
policies=policies, ttl='24h')
如您所见,我们正在创建 k8s 角色并以 24 小时 TTL 绑定到命名空间和 sa。
我们使用下面的 consul 模板将 apikey 渲染到 pod 中。
{{- define "inject.apiKey" -}}
vault.hashicorp.com/agent-inject-secret-apikey: "secrets/data/apikey"
vault.hashicorp.com/secret-volume-path: {{ .Values.global.vaultPath }}
vault.hashicorp.com/agent-inject-template-apikey: |
{{ `{{- with secret "secrets/data/apikey" -}}
{{ .Data.data.value }}
{{- end }}` }}
{{- end -}}
每次 pod 需要 apikey 时,它是否会创建一个新会话并存储在上述路径中?
有人可以帮忙吗?我们怎样才能清理这个?
解决方案
推荐阅读
- javascript - 使用 jQuery 更改具有类型写入文本效果的图像
- typescript - React Native“全局”变量 Intellij 未定义
- scala - 如何将地图转换为集合列表,其中地图键和值是该集合的字段?
- html - 学习CSS,遇到垂直边框的问题
- postgresql - 搜索表达式索引
- r - 将缺失时间修改为 R 中的日期时间序列
- angular - 如何模拟`
` 在使用反应形式的 ng-recaptcha V2 的组件的单元测试中? - c++ - 这里的语法有什么问题?在 C++ 中,我对此有多个问题
- java - 如何在 if 语句中正确比较数组的整数?
- c++ - 函数返回 iostream 是强制性的还是只是一个约定,而它的参数之一也是 iostream