行至水穷处 坐看“云”起时

Cloud Native ADN -> CNadn.Net

手工为SA创建额外secret,并挂载到pod

默认情况下,系统会为每个servcieaccount(sa)创建一个对应的secret,这个secret里包含一个token,一般默认是ca证书。

https://v1-10.docs.kubernetes.io/docs/concepts/configuration/secret/ 文章说可以通过将sa挂载到pod上实现secret的自动挂载,这个地方其实有些问题,缺省自动产生的secret是可以自动被挂载到pod的。但是如果额外为这个sa创建的secret是不能自动挂载到pod上的(因为系统都不知道你要挂到哪里去),默认情况下pod只自动挂载sa中的第一个mountable的secret-一般也就是系统自动产生的那个secret。

测试步骤:

  1. 创建一个sa
    kubectl create sa ljtest
  2. 为该sa额外创建一个secret
  3. 创建完毕,这个secret不会自动关联到sa上,需要手工编辑sa kubectl edit sa ljtest

  4. 创建pod,并关联这个sa

    创建完毕,会发现只是mount了系统自动产生的那个
  5. 修改pod yaml文件,手工关联

    产生的最后效果,可以看到被挂载了。

     

参考:

https://github.com/kubernetes/kubernetes/issues/12012

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注