You must use a domain based account to register SPNs in the domain.
Once you have done that you can grant the needed permissions to the domain account so that it can read and write the SPNs itself rather than you having to manually do it.
If you do need to manually do this, ensure you set the names instance to use a static port and not dynamic.
Then you can use the SETSPN command line tools to register
MSSQLSvc/Servername:port
MSSQLSvc/Servername:InstanceName
MSSQLSvc/Servername.fqdn:port
MSSQLSvc/Servername.fqdn:InstanceName