内容纲要
概要描述
在多个脚本并发进行kinit认证时,常会出现 krb cache 失效的情况。本文描述该场景下的解决方法。
详细描述
1 场景说明
该问题常见于并发跑批场景,多个脚本出现同时认证的情况,常见报错
"kinit: Failed to store credentials: Internal credentials cache error (filename: /tmp/krb5cc_xxx) while getting initial credentials"
2 问题说明
/tmp/krb5cc_uid 是凭证高速缓存,每kinit一次,该文件就会被刷新一次
在并发kinit的情况下,偶发性会出现,同一时间去kinit认证的情况,这就会导致该cache文件可能只缓存了一个有效凭证,这个时候,就可能导致前面kinit的用户读到的cache是后面用户的kinit信息
3 解决方案
优化脚本,在最开始kinit之前可以
> export KRB5CCNAME=/tmp/krb5cc_
这样可以隔离每次任务的krb5 cache 不受其它东西影响,这个