I expect the pair
getnewaddress ( "label" "address_type" )
getaddressinfo "address"
will generate a new pubkey and tell you what it is
The same commands are supported by bitcoin-qt console so I can easily demonstrate it thusly ...
getnewaddress
bc1q************************************5e
getaddressinfo bc1q************************************5e
{
"address": "bc1q************************************5e",
[...]
"pubkey": "03**************************************************************4d",
[...]
}