This page provides a brief overview of the GKE On-Prem API and provides links
to the Google Distributed Cloud (software only) for bare metal and VMware
documentation where you can learn more.

The GKE On-Prem API is a Google Cloud-hosted API that lets you manage the
lifecycle of your on-premises clusters using standard applications. The
GKE On-Prem API runs in Google Cloud's infrastructure. The
Google Cloud console, the Google Cloud CLI, and Terraform are clients of the API, and
they use the API to create, update, upgrade, and delete clusters in your data
center.

## Protect the API with VPC Service Controls

To further secure the GKE On-Prem API, you can protect it using VPC Service Controls.

VPC Service Controls provides additional security for the GKE On-Prem API.
Using VPC Service Controls, you can add projects to service perimeters that
protect resources and services from requests that originate outside the
perimeter.

To learn more about service perimeters, see
[Service perimeter details and configuration](https://docs.cloud.google.com/vpc-service-controls/docs/service-perimeters).

For the greatest protection by VPC Service Controls, ensure that your admin
cluster isn't publicly accessible. For more information, see the following
Google Distributed Cloud documentation:

- Bare metal: [Hardening your cluster's security](https://docs.cloud.google.com/kubernetes-engine/distributed-cloud/bare-metal/docs/how-to/hardening-your-cluster)

- VMware: [Hardening your cluster's security](https://docs.cloud.google.com/kubernetes-engine/distributed-cloud/vmware/docs/how-to/hardening-your-cluster)

## What's next

- Bare metal:

  - [Choose a tool to manage cluster lifecycle](https://docs.cloud.google.com/kubernetes-engine/distributed-cloud/bare-metal/docs/installing/cluster-lifecycle-management-tools)
  - [Create a user cluster using GKE On-Prem API clients](https://docs.cloud.google.com/kubernetes-engine/distributed-cloud/bare-metal/docs/installing/creating-clusters/create-user-cluster-api)
  - [Create an admin cluster using GKE On-Prem API clients](https://docs.cloud.google.com/kubernetes-engine/distributed-cloud/bare-metal/docs/installing/creating-clusters/create-admin-cluster-api)
  - [Configure a cluster to be managed by the GKE On-Prem API](https://docs.cloud.google.com/kubernetes-engine/distributed-cloud/bare-metal/docs/how-to/enroll-cluster)
- VMware:

  - [Choose a tool to manage cluster lifecycle](https://docs.cloud.google.com/kubernetes-engine/distributed-cloud/vmware/docs/how-to/cluster-lifecycle-management-tools)
  - [Create a user cluster](https://docs.cloud.google.com/kubernetes-engine/distributed-cloud/vmware/docs/how-to/create-user-cluster)
  - [Configure a cluster to be managed by the GKE On-Prem API](https://docs.cloud.google.com/kubernetes-engine/distributed-cloud/vmware/docs/how-to/enroll-cluster)