---
title: "Kubernetes Cluster Templates"
description: "Deploy Kubernetes clusters and supporting infrastructure on AWS, Azure, or Google Cloud with Pulumi Kubernetes templates."
url: "https://www.pulumi.com/dev/templates/kubernetes/"
image: "https://www.pulumi.com/assets/og/dev/templates/kubernetes.png"
---

# Kubernetes Cluster Templates

Deploy Kubernetes clusters and supporting infrastructure on AWS, Azure, or Google Cloud with Pulumi Kubernetes templates.

## About these templates

### What is Kubernetes?

[Kubernetes](https://www.pulumi.com/kubernetes) is an open-source container orchestration platform. It runs a control plane that schedules, deploys, and scales containerized workloads across a cluster of machines using a declarative, desired-state model. Kubernetes is portable across clouds, scales horizontally, and supports a large ecosystem of extensions through Helm charts and Custom Resource Definitions.

### Which managed Kubernetes service should I use on each cloud?

Each major cloud offers a managed control plane so you don't have to operate Kubernetes yourself:

- **AWS**: [Amazon EKS](https://www.pulumi.com/registry/packages/eks/api-docs/cluster/) — runs your workloads on either EC2 nodes you manage or [AWS Fargate](https://www.pulumi.com/registry/packages/awsx/api-docs/ecs/fargateservice/) serverless capacity.
- **Azure**: [Azure Kubernetes Service (AKS)](https://www.pulumi.com/registry/packages/azure-native/api-docs/containerservice/managedcluster) — integrates with Azure Active Directory and Azure Monitor.
- **Google Cloud**: [Google Kubernetes Engine (GKE)](https://www.pulumi.com/registry/packages/gcp/api-docs/container/cluster) — integrates tightly with the rest of Google Cloud and supports Autopilot for fully managed nodes.

### How do I deploy a Kubernetes cluster with Pulumi?

Use one of the Kubernetes Cluster templates above to scaffold a Pulumi project that provisions a managed cluster and the surrounding infrastructure (VPC, subnets, IAM, node pools). Each template deploys end to end with `pulumi new` followed by `pulumi up` and exports a `kubeconfig` you can use immediately with `kubectl`.

### How do I deploy applications onto an existing cluster?

Once your cluster is running, the [Kubernetes Application templates](https://www.pulumi.com/dev/templates/kubernetes-application/) give you a starting point for deploying workloads — either a [Helm chart](https://www.pulumi.com/dev/templates/kubernetes-application/helm-chart/) or a [Kubernetes Deployment + Service](https://www.pulumi.com/dev/templates/kubernetes-application/web-application/) — using the same language as your cluster's infrastructure code.
