Podに指定したserviceAccountNameを消したいけど消せない件

Podのservice accountを指定する場合、マニフェストファイルのspec.serviceAccountNameに書きますが、service accountを使わなくなったのでファイルから行ごと消してapplyしたけど反映されない事象に遭遇しました。

調べると、以下が理由。 github.com

つまり、applyしたリソースには、下位互換性のためにserviceAccountNameだけではなくserviceAccountも同じ値が設定される。フィールドを削除する場合は、両方を明示的に空に設定する必要がある。serviceAccountNameだけを未設定にすることはできない。

解決策:
1, kubectl editでserviceAccountNameとserviceAccountの両方を消す
2, マニフェストファイルにserviceAccountNameとserviceAccountを指定してapply後、serviceAccountNameとserviceAccountの両方を消して再度apply

面倒ですね。。 以下のissueで対応されるかもです。 github.com