如何获取在kubernetes中提交作业的用户名?
How to get the username that submitted a job in kubernetes?
有没有办法找到在 kubernetes 中提交工作的用户名?
我试过 kubectl describe jobs JOBNAME
和 kubectl get jobs JOBNAME
,但都没有显示提交作业的用户名。
令人惊讶的是,我没有通过 google 或 SO 搜索找到这个问题的答案。
在 kubernetes 中创建对象时,例如 Job
,它由 API 服务器处理。
尽管访问通常只允许使用身份验证,但情况并非必须如此。即使使用了身份验证,也不意味着用户名之类的东西可用。 (想想 TLS 客户端证书)
除了 Job
可以是另一个 kubernetes 对象的结果,例如 CronJob
,那么没有用户创建该对象,而是 kubernetes 本身。
您可以使用 YAML 输出获取对象数据的完整转储,例如 kubectl get job sample -o yaml
,没有记录用户名。
不过,您可以使用元数据(标签或注释)自己记录用户名。
如果您的案例必须找到“谁发起了这项工作”,那么您可以设置 api 服务器审核 - [https://kubernetes.io/docs/tasks/debug-application-cluster/audit/][1]
有没有办法找到在 kubernetes 中提交工作的用户名?
我试过 kubectl describe jobs JOBNAME
和 kubectl get jobs JOBNAME
,但都没有显示提交作业的用户名。
令人惊讶的是,我没有通过 google 或 SO 搜索找到这个问题的答案。
在 kubernetes 中创建对象时,例如 Job
,它由 API 服务器处理。
尽管访问通常只允许使用身份验证,但情况并非必须如此。即使使用了身份验证,也不意味着用户名之类的东西可用。 (想想 TLS 客户端证书)
除了 Job
可以是另一个 kubernetes 对象的结果,例如 CronJob
,那么没有用户创建该对象,而是 kubernetes 本身。
您可以使用 YAML 输出获取对象数据的完整转储,例如 kubectl get job sample -o yaml
,没有记录用户名。
不过,您可以使用元数据(标签或注释)自己记录用户名。
如果您的案例必须找到“谁发起了这项工作”,那么您可以设置 api 服务器审核 - [https://kubernetes.io/docs/tasks/debug-application-cluster/audit/][1]