I started a new Google Cloud Shell session and after performing the labs’ activities, I got curious about what is the standard OS and version used for starting up a Container within the Cloud Shell Host Machine. I am happy to see that I got a Debian going for the Container I was working with and I wonder if it’s a standard:
wagnerbianchijr@cloudshell:~ (neon-research-247220)$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.9 (stretch) Release: 9.9 Codename: stretch
After researching a little bit, I found the Chromium OS is kind of based on Ubuntu or Debian, I’m not really sure yet if things are correlated here. But maybe, that’s why it appears to be Debian.
I started reading more about this here and I would like to hear from you if you know about that.
Good on you for being curious and digging into this, Wagner! 😀👍
If you want to learn more about Cloud Shell, this "Cloud Shell Features" is a great reference page on it. In particular, I think you’ll find these quotes interesting:
When you start Cloud Shell, it provisions a g1-small Google Compute Engine virtual machine running a Debian-based Linux operating system.
Your Cloud Shell environment is a Docker container and with the custom environment feature, currently in alpha, you can now modify this container by editing a Dockerfile. This enables you to install custom tooling into your Cloud Shell environment that persists between sessions.
Boost mode temporarily increases the power of your Cloud Shell VM - from the default g1-small machine type offering to a n1-standard-1 VM instance.
Not trying to be a wet blanket, but I hate to see anyone get too worked up about the cloud shell if you will be working in a corporate environment. This Cloud Shell is one of the first things that is closed off. While I agree that it is EXTREMELY USEFUL for this training or if running your own personal GCP Projects, corporate users should not get used to the idea of having this available. Don’t think for one second your company’s security team isn’t cringing at the thought of a user being logged in at Starbucks to a production environment through this shell.
There are alternatives to disabling it completely, for example authenticating via an identity provider that’s only available via the on-prem network. If you can login to Cloud Shell from a public network, Cloud Shell would only be one of many problems.
We need to take this into account also: https://cloud.google.com/container-optimized-os/docs/concepts/features-and-benefits
Additionally, as per the last lecture, Debian is the default OS image unless you change it when creating a new GCE. I haven’t found yet any documents to tell about that, but it seems that there is a relationship between the Container OS and the GCE.