Google Kubernetes Engine, Agent

Supported OS Linux Mac OS Windows


Google Kubernetes Engine (GKE), a service on the Google Cloud Platform (GCP), is a hosted platform for running and orchestrating containerized applications. Similar to Amazon’s Elastic Container Service (ECS), GKE manages Docker containers deployed on a cluster of machines. However, unlike ECS, GKE uses Kubernetes.



  1. Ensure that your role in your GCP project has the proper permissions to use GKE.

  2. Enable the Google Container Engine API for your project.

  3. Install the Google Cloud SDK and the kubectl command line tool on your local machine. Once you pair the Cloud SDK with your GCP account, you can control your clusters directly from your local machine using kubectl.

  4. Create a small GKE cluster named doglib with the ability to access the Cloud Datastore by running the following command:

$  gcloud container clusters create doglib --num-nodes 3 --zone "us-central1-b" --scopes "cloud-platform"

Set up the GCE integration

Install the Google Cloud Platform integration.

You can then access an out-of-the-box Google Compute Engine dashboard that displays metrics like disk I/O, CPU utilization, and network traffic.

Set up the GKE integration

Choose a mode of operation. A mode of operation refers to the level of flexibility, responsibility, and control that you have over your cluster. GKE offers two modes of operation:

  • Standard: You manage the cluster’s underlying infrastructure, giving you node configuration flexibility.

  • Autopilot: Google provisions and manages the entire cluster’s underlying infrastructure, including nodes and node pools, giving you an optimized cluster with a hands-off experience.


Follow the instructions in the GKE Autopilot section of the Kubernetes distributions page.

Admission Controller

To use Admission Controller with Autopilot, set the configMode of the Admission Controller to either service or hostip.

Because Autopilot does not allow socket mode, Datadog recommends using service (with hostip as a fallback) to provide a more robust layer of abstraction for the controller.

Further Reading