Google agents installed on Ubuntu¶
There are four different “guest agents” installed on Ubuntu images in GCP, each developed by Google and packaged for Ubuntu by Canonical:
google-guest-agent[package, source code]gce-compute-image-packages[package, source code]google-compute-engine-oslogin[package, source code]google-osconfig-agent[package, source code]
google-guest-agent¶
This package is installed on Ubuntu images to facilitate the different platform features available in GCP.
It’s written in Go and can be described as having two main components:
The
google-metadata-script-runnerbinary, which enables users to run bespoke scripts on VM startup and VM shutdownThe
daemon, which handles the following on the VM:
SSH and account management
OS Login (if used)
Clock skew
Networking and NICs
Instance optimizations
Telemetry
Mutual TLS Metadata Service (mTLS MDS)
gce-compute-image-packages¶
This package (written in BASH) is a collection of different configuration scripts that are dropped into the .d directories of the following:
aptdhcpmodprobeNetworkManager/dispatcherrsyslogsysctlsystemd
google-compute-engine-oslogin¶
Written in a mixture of C and C++, this package is responsible for providing GCP’s OS Login to Ubuntu VMs.
At a high level it can be described as providing the following:
Authorized Keys Command: provides SSH keys (from an OS Login profile) to
sshdfor authenticationNSS Modules: support for making OS Login user/group information available to the VM using NSS (Name Service Switch)
PAM Modules: provides authorization (and authentication if
2FAis enabled) to allow the VM to grantsshaccess/sudoprivileges based on the user’s allotted IAM permissions
google-osconfig-agent¶
This package is written in Go and is installed to facilitate GCP’s OS Config (also known as “VM manager”).
At a high level, OS Config supports the following: