Correct Answer C
A and D are wrong because you are never advised to write the credentials, in the code or in some configuration file and so, expose security information in clear text.
The best method is always through the use of Service Accounts.
You can configure the Service Account to be associated each time a VM is created, but the privileges to be assigned can be different among the various applications in the various pods that may share the same VM. So option B is not the best one.