For Agents
Provision, upgrade, and enroll on-prem Anthos clusters on bare metal or VMware, including admin and user clusters. Built for platform teams running Kubernetes outside Google Cloud.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the GKE On-Prem API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with GKE On-Prem API.
Create bare metal admin and user clusters in a given Cloud location
Enroll an existing on-prem cluster into the GKE On-Prem control plane
Query supported version configurations for a cluster type
GET STARTED
Use for: Create a bare metal admin cluster in my data centre, Create a user cluster under an existing bare metal admin cluster, List all bare metal clusters in my project, Query the supported versions for a bare metal user cluster
Not supported: Does not provision cloud-hosted GKE, run workloads inside clusters, or manage IAM directly — use the Container API for cloud GKE, the cluster's Kubernetes API for workloads, and Cloud IAM for role bindings.
The GKE On-Prem API manages Anthos clusters that run on customer hardware, including bare metal admin and user clusters and VMware-based clusters. It supports cluster creation, upgrades, enrollment of existing clusters, and version queries, integrating on-prem clusters with the rest of Google Cloud's control plane. The API works alongside GKE Hub so on-prem clusters appear in fleets and can receive fleet-level features.
List, get, update, and delete clusters managed by the API
Unenroll a cluster from Google Cloud without destroying it
List long-running operations and cancel them when needed
Patterns agents use GKE On-Prem API for, with concrete tasks.
★ Provision an On-Prem Anthos Bare Metal Cluster
Enterprises that need Kubernetes on their own hardware use Anthos on bare metal to run a managed control plane locally. The GKE On-Prem API creates the bare metal admin cluster and subsequent user clusters in a Google Cloud location, providing a single API surface for cluster lifecycle. Once created, clusters are managed alongside cloud GKE clusters in the same project.
Call POST /v1/projects/{project}/locations/{location}/bareMetalAdminClusters with the network and node specs, then create user clusters under it.
Enroll Existing On-Prem Clusters
Operators sometimes have legacy bare metal clusters they want to bring under Google Cloud control without recreating them. The enroll endpoints register an existing cluster with the GKE On-Prem API so it appears alongside other clusters and can receive lifecycle operations. Unenroll reverses the action, leaving the cluster intact.
Call POST /v1/{parent}/bareMetalAdminClusters:enroll with the local cluster details to register it, and verify with GET on the resulting resource name.
Plan Cluster Upgrades
Before upgrading an on-prem cluster, operators need to know the exact target version supported for that cluster shape and the current version. The queryVersionConfig endpoints return supported versions and upgrade paths for bare metal admin and user clusters, supporting safe upgrade planning across many on-prem sites.
Call POST /v1/{parent}/bareMetalUserClusters:queryVersionConfig and use the returned version list to drive the upgrade plan for each cluster.
Agent-Assisted On-Prem Cluster Lifecycle
An AI agent in a platform engineering toolchain can guide an operator through enrolling, upgrading, and decommissioning on-prem clusters. Through Jentic, the agent searches for the right cluster operation by intent, loads its schema, and executes it under the operator's IAM scope without holding raw service account keys.
Use Jentic to search 'enroll a bare metal cluster', load the enroll schema, and execute it for the target cluster identifier.
31 endpoints — the gke on-prem api manages anthos clusters that run on customer hardware, including bare metal admin and user clusters and vmware-based clusters.
METHOD
PATH
DESCRIPTION
/v1/{+parent}/bareMetalAdminClusters
List bare metal admin clusters
/v1/{+parent}/bareMetalAdminClusters
Create a bare metal admin cluster
/v1/{+parent}/bareMetalAdminClusters:enroll
Enroll an existing bare metal admin cluster
/v1/{+parent}/bareMetalAdminClusters:queryVersionConfig
Query supported versions for admin clusters
/v1/{+parent}/bareMetalClusters
List bare metal user clusters
/v1/{+parent}/bareMetalClusters
Create a bare metal user cluster
/v1/{+parent}/bareMetalClusters:enroll
Enroll an existing bare metal user cluster
/v1/{+name}:unenroll
Unenroll a cluster without destroying it
/v1/{+parent}/bareMetalAdminClusters
List bare metal admin clusters
/v1/{+parent}/bareMetalAdminClusters
Create a bare metal admin cluster
/v1/{+parent}/bareMetalAdminClusters:enroll
Enroll an existing bare metal admin cluster
/v1/{+parent}/bareMetalAdminClusters:queryVersionConfig
Query supported versions for admin clusters
/v1/{+parent}/bareMetalClusters
List bare metal user clusters
Three things that make agents converge on Jentic-routed access.
Credential isolation
Service account credentials live encrypted in the Jentic vault. Agents receive scoped OAuth tokens for the cloud-platform scope and operate under the IAM bindings of that service account.
Intent-based discovery
Agents search by intent (e.g., 'enroll a bare metal cluster') and Jentic returns the matching admin or user cluster operation with its full schema.
Time to first call
Direct integration: 3-5 days for IAM, network model, and long-running operation handling. Through Jentic: under an hour per operation.
Alternatives and complements available in the Jentic catalogue.
Specific to using GKE On-Prem API through Jentic.
What authentication does the GKE On-Prem API use?
It uses Google OAuth 2.0 with the cloud-platform scope, typically through a service account with anthos and gkeonprem-related IAM roles. Through Jentic, credentials live encrypted in the vault and agents receive scoped bearer tokens.
Can I create a bare metal user cluster with this API?
Yes. Once a bare metal admin cluster exists, call POST /v1/{parent}/bareMetalClusters with the desired control-plane and node-pool spec to provision a user cluster under it.
What are the rate limits for the GKE On-Prem API?
Google enforces standard per-project quotas on management calls. Cluster create and upgrade operations are long-running operations whose runtime depends on the underlying hardware, not the API rate.
How do I enroll an existing on-prem cluster through Jentic?
Search Jentic for 'enroll a bare metal cluster', load the schema for POST /v1/{parent}/bareMetalAdminClusters:enroll or the user-cluster equivalent, and execute it with the existing cluster's local identifier.
Is the GKE On-Prem API free?
The API itself has no separate charge, but Anthos on bare metal and Anthos on VMware have per-vCPU subscription pricing. See Anthos pricing for current rates.
Does this API run workloads on the cluster?
No. The API only manages cluster lifecycle. Workload deployment happens via the cluster's Kubernetes API once the cluster is created or enrolled.
/v1/{+parent}/bareMetalClusters
Create a bare metal user cluster
/v1/{+parent}/bareMetalClusters:enroll
Enroll an existing bare metal user cluster
/v1/{+name}:unenroll
Unenroll a cluster without destroying it