Just a tip. In GCP >> VPC networks >> Firewall rules:
[default-allow-http], [default-allow-https], and [default-allow-ssh] will allow access from any IP. I suggest disable each one of these rules (click edit and all the way down there is an option to disable the rule). Then, create a new rule based on your need for each port that will restrict access to your trusted IPs. Add the tag to your VM instance.
It seems like that the iso I download from freepbx official website don’t have the build directory in the kernel modules so that I can’t run the agent installer
Can you test to see if you can get CentOS7 installed on the GCP from a VM using the same steps?
This may help differentiate if the issue from the iso or the process. If CentOS7 installation work, then you may want to look for an older ISO (the one from April 2019 worked for me) and upgrade after install
If you manage to have the VM instance up and running I recommend making Snapshot. I had issue updating the FreePBX system from the web interface. I recommend loging into your system via SSH and run the update from there.