The Kubernetes provider for Pulumi can be used to provision any of the resources specified by the Kubernetes API (e.g., v1.10). The Kubernetes provider uses the official Kubernetes Go client under the hood, and will automatically configure itself if a kubeconfig file file is present.

See the full API documentation for complete details of the available Kubernetes provider APIs.

Note: The Pulumi provider currently supports Kubernetes 1.5+. If you have a specific version requirement and are unsure of whether we currently support it, or are certain we don’t and need us to begin doing so, please contact us.


By default, Pulumi uses the same configuration as kubectl, so if you’re already connected to a cluster, Pulumi will “just work.” For more details, including this initial setup, please see the Kubernetes setup page.


The easiest way to start with Kubernetes is to follow one of the tutorials:

Kubernetes the Prod Way

Kubernetes the Prod Way is a tutorial aimed at users looking for guidance on how to set up a Kubernetes cluster for production workloads, including identity, managed infrastructure (e.g., databases, Kubernetes clusters).


import * as k8s from "@pulumi/kubernetes";

// Create an nginx pod
let nginxcontainer = new k8s.core.v1.Pod("nginx", {
    spec: {
        containers: [{
            image: "nginx:1.7.9", name: "nginx", ports: [{ containerPort: 80 }]

You can find additional examples Kubernetes examples in the Pulumi examples repo.


The following packages are available in package managers:

  • JavaScript/TypeScript: https://www.npmjs.com/package/@pulumi/kubernetes

Support will eventually expand to Python and Go as well.


You can find a list of frequently-asked questions here.