I have been playing around with 3 google cloud compute instances using webmin/virtualmin (web hosting and email), Vestacp (hosting only), and ISPconfig (hosting only) control panels.
The ISPConfig instance has a static external ip address, however the other 2 at this stage are dhcp.
All 3 instances are using a dynamically assigned internal ip addresses, although i have not yet seen any of those ip addresses change in 6 months of testing and restarting and deleting and re-deploying. Whenever i delete an instance, the same internal ip sequence is used (ie whatever is the next lowest unassigned available number is re-added as internal ip address).
I am having some problems with forcing google cloud to bloodywell stop changing my hostname -f configuration in my /etc/hosts file.
It should read
127.0.0.1 localhost.localdomain localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
10.x.x.x server1.foo.com.au server1
(where x is my internal ip address, "foo" is my domain name)
However, on any 3 of my instances, as soon as i reboot the instance, google cloud adds its own code back in again on next restart. ie by default google cloud keeps changing the file to read the same 2 "# added by Google" lines as shown below
127.0.0.1 localhost.localdomain localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
10.x.x.x server1.foo.com.au server1
10.x.x.x server1.c.bar.internal server1 # Added by Google
169.254.169.254 metadata.google.internal # Added by Google
(where x is my internal ip address, "foo" is my actual domain name, and "bar" is my google cloud project ID)
This is really causing me problems and i have no idea on which is the best way around it.
-Do i do it from within google cloud DNS API? -setup a static internal ip address in google cloud network settings? -setup a script that continues to check for a change to this file and immediately replace any changes google cloud attempts to make? -or do i need to change the metadata information on the last line of my hosts file so it does not have "...metadata.google.internal # Added by Google" line?
At present option 1 above is not working. As soon as i enable the DNS API then try to enter it i get a "failed to load" error from within my google cloud console. This is a flaming pain in the ass!!! (i have sent a support request to google...who knows how long it will take for an answer)