1. Packages
  2. Vultr
  3. API Docs
  4. Kubernetes
Vultr v2.23.1 published on Tuesday, Dec 10, 2024 by dirien

vultr.Kubernetes

Explore with Pulumi AI

Example Usage

Create a new VKE cluster:

import * as pulumi from "@pulumi/pulumi";
import * as vultr from "@ediri/vultr";

const k8 = new vultr.Kubernetes("k8", {
    label: "vke-test",
    nodePools: {
        autoScaler: true,
        label: "vke-nodepool",
        maxNodes: 2,
        minNodes: 1,
        nodeQuantity: 1,
        plan: "vc2-1c-2gb",
    },
    region: "ewr",
    version: "v1.28.2+1",
});
Copy
import pulumi
import ediri_vultr as vultr

k8 = vultr.Kubernetes("k8",
    label="vke-test",
    node_pools={
        "auto_scaler": True,
        "label": "vke-nodepool",
        "max_nodes": 2,
        "min_nodes": 1,
        "node_quantity": 1,
        "plan": "vc2-1c-2gb",
    },
    region="ewr",
    version="v1.28.2+1")
Copy
package main

import (
	"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vultr.NewKubernetes(ctx, "k8", &vultr.KubernetesArgs{
			Label: pulumi.String("vke-test"),
			NodePools: &vultr.KubernetesNodePoolsTypeArgs{
				AutoScaler:   pulumi.Bool(true),
				Label:        pulumi.String("vke-nodepool"),
				MaxNodes:     pulumi.Int(2),
				MinNodes:     pulumi.Int(1),
				NodeQuantity: pulumi.Int(1),
				Plan:         pulumi.String("vc2-1c-2gb"),
			},
			Region:  pulumi.String("ewr"),
			Version: pulumi.String("v1.28.2+1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vultr = ediri.Vultr;

return await Deployment.RunAsync(() => 
{
    var k8 = new Vultr.Kubernetes("k8", new()
    {
        Label = "vke-test",
        NodePools = new Vultr.Inputs.KubernetesNodePoolsArgs
        {
            AutoScaler = true,
            Label = "vke-nodepool",
            MaxNodes = 2,
            MinNodes = 1,
            NodeQuantity = 1,
            Plan = "vc2-1c-2gb",
        },
        Region = "ewr",
        Version = "v1.28.2+1",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vultr.Kubernetes;
import com.pulumi.vultr.KubernetesArgs;
import com.pulumi.vultr.inputs.KubernetesNodePoolsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var k8 = new Kubernetes("k8", KubernetesArgs.builder()
            .label("vke-test")
            .nodePools(KubernetesNodePoolsArgs.builder()
                .autoScaler(true)
                .label("vke-nodepool")
                .maxNodes(2)
                .minNodes(1)
                .nodeQuantity(1)
                .plan("vc2-1c-2gb")
                .build())
            .region("ewr")
            .version("v1.28.2+1")
            .build());

    }
}
Copy
resources:
  k8:
    type: vultr:Kubernetes
    properties:
      label: vke-test
      nodePools:
        autoScaler: true
        label: vke-nodepool
        maxNodes: 2
        minNodes: 1
        nodeQuantity: 1
        plan: vc2-1c-2gb
      region: ewr
      version: v1.28.2+1
Copy

A default node pool is required when first creating the resource but it can be removed at a later point so long as there is a separate vultr.KubernetesNodePools resource attached. For example:

import * as pulumi from "@pulumi/pulumi";
import * as vultr from "@ediri/vultr";

const k8 = new vultr.Kubernetes("k8", {
    region: "ewr",
    label: "vke-test",
    version: "v1.28.2+1",
});
// This resource must be created and attached to the cluster
// before removing the default node from the vultr_kubernetes resource
const np = new vultr.KubernetesNodePools("np", {
    clusterId: k8.id,
    nodeQuantity: 1,
    plan: "vc2-1c-2gb",
    label: "vke-nodepool",
    autoScaler: true,
    minNodes: 1,
    maxNodes: 2,
});
Copy
import pulumi
import ediri_vultr as vultr

k8 = vultr.Kubernetes("k8",
    region="ewr",
    label="vke-test",
    version="v1.28.2+1")
# This resource must be created and attached to the cluster
# before removing the default node from the vultr_kubernetes resource
np = vultr.KubernetesNodePools("np",
    cluster_id=k8.id,
    node_quantity=1,
    plan="vc2-1c-2gb",
    label="vke-nodepool",
    auto_scaler=True,
    min_nodes=1,
    max_nodes=2)
Copy
package main

import (
	"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		k8, err := vultr.NewKubernetes(ctx, "k8", &vultr.KubernetesArgs{
			Region:  pulumi.String("ewr"),
			Label:   pulumi.String("vke-test"),
			Version: pulumi.String("v1.28.2+1"),
		})
		if err != nil {
			return err
		}
		// This resource must be created and attached to the cluster
		// before removing the default node from the vultr_kubernetes resource
		_, err = vultr.NewKubernetesNodePools(ctx, "np", &vultr.KubernetesNodePoolsArgs{
			ClusterId:    k8.ID(),
			NodeQuantity: pulumi.Int(1),
			Plan:         pulumi.String("vc2-1c-2gb"),
			Label:        pulumi.String("vke-nodepool"),
			AutoScaler:   pulumi.Bool(true),
			MinNodes:     pulumi.Int(1),
			MaxNodes:     pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vultr = ediri.Vultr;

return await Deployment.RunAsync(() => 
{
    var k8 = new Vultr.Kubernetes("k8", new()
    {
        Region = "ewr",
        Label = "vke-test",
        Version = "v1.28.2+1",
    });

    // This resource must be created and attached to the cluster
    // before removing the default node from the vultr_kubernetes resource
    var np = new Vultr.KubernetesNodePools("np", new()
    {
        ClusterId = k8.Id,
        NodeQuantity = 1,
        Plan = "vc2-1c-2gb",
        Label = "vke-nodepool",
        AutoScaler = true,
        MinNodes = 1,
        MaxNodes = 2,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vultr.Kubernetes;
import com.pulumi.vultr.KubernetesArgs;
import com.pulumi.vultr.KubernetesNodePools;
import com.pulumi.vultr.KubernetesNodePoolsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var k8 = new Kubernetes("k8", KubernetesArgs.builder()
            .region("ewr")
            .label("vke-test")
            .version("v1.28.2+1")
            .build());

        // This resource must be created and attached to the cluster
        // before removing the default node from the vultr_kubernetes resource
        var np = new KubernetesNodePools("np", KubernetesNodePoolsArgs.builder()
            .clusterId(k8.id())
            .nodeQuantity(1)
            .plan("vc2-1c-2gb")
            .label("vke-nodepool")
            .autoScaler(true)
            .minNodes(1)
            .maxNodes(2)
            .build());

    }
}
Copy
resources:
  k8:
    type: vultr:Kubernetes
    properties:
      region: ewr
      label: vke-test
      version: v1.28.2+1
  # This resource must be created and attached to the cluster
  # before removing the default node from the vultr_kubernetes resource
  np:
    type: vultr:KubernetesNodePools
    properties:
      clusterId: ${k8.id}
      nodeQuantity: 1
      plan: vc2-1c-2gb
      label: vke-nodepool
      autoScaler: true
      minNodes: 1
      maxNodes: 2
Copy

There is still a requirement that there be one node pool attached to the cluster but this should allow more flexibility about which node pool that is.

Create Kubernetes Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Kubernetes(name: string, args: KubernetesArgs, opts?: CustomResourceOptions);
@overload
def Kubernetes(resource_name: str,
               args: KubernetesArgs,
               opts: Optional[ResourceOptions] = None)

@overload
def Kubernetes(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               label: Optional[str] = None,
               region: Optional[str] = None,
               version: Optional[str] = None,
               enable_firewall: Optional[bool] = None,
               ha_controlplanes: Optional[bool] = None,
               node_pools: Optional[KubernetesNodePoolsArgs] = None)
func NewKubernetes(ctx *Context, name string, args KubernetesArgs, opts ...ResourceOption) (*Kubernetes, error)
public Kubernetes(string name, KubernetesArgs args, CustomResourceOptions? opts = null)
public Kubernetes(String name, KubernetesArgs args)
public Kubernetes(String name, KubernetesArgs args, CustomResourceOptions options)
type: vultr:Kubernetes
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. KubernetesArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. KubernetesArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. KubernetesArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. KubernetesArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. KubernetesArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var kubernetesResource = new Vultr.Kubernetes("kubernetesResource", new()
{
    Label = "string",
    Region = "string",
    Version = "string",
    EnableFirewall = false,
    HaControlplanes = false,
    NodePools = new Vultr.Inputs.KubernetesNodePoolsArgs
    {
        Label = "string",
        NodeQuantity = 0,
        Plan = "string",
        AutoScaler = false,
        DateCreated = "string",
        DateUpdated = "string",
        Id = "string",
        MaxNodes = 0,
        MinNodes = 0,
        Nodes = new[]
        {
            new Vultr.Inputs.KubernetesNodePoolsNodeArgs
            {
                DateCreated = "string",
                Id = "string",
                Label = "string",
                Status = "string",
            },
        },
        Status = "string",
        Tag = "string",
    },
});
Copy
example, err := vultr.NewKubernetes(ctx, "kubernetesResource", &vultr.KubernetesArgs{
	Label:           pulumi.String("string"),
	Region:          pulumi.String("string"),
	Version:         pulumi.String("string"),
	EnableFirewall:  pulumi.Bool(false),
	HaControlplanes: pulumi.Bool(false),
	NodePools: &vultr.KubernetesNodePoolsTypeArgs{
		Label:        pulumi.String("string"),
		NodeQuantity: pulumi.Int(0),
		Plan:         pulumi.String("string"),
		AutoScaler:   pulumi.Bool(false),
		DateCreated:  pulumi.String("string"),
		DateUpdated:  pulumi.String("string"),
		Id:           pulumi.String("string"),
		MaxNodes:     pulumi.Int(0),
		MinNodes:     pulumi.Int(0),
		Nodes: vultr.KubernetesNodePoolsNodeArray{
			&vultr.KubernetesNodePoolsNodeArgs{
				DateCreated: pulumi.String("string"),
				Id:          pulumi.String("string"),
				Label:       pulumi.String("string"),
				Status:      pulumi.String("string"),
			},
		},
		Status: pulumi.String("string"),
		Tag:    pulumi.String("string"),
	},
})
Copy
var kubernetesResource = new Kubernetes("kubernetesResource", KubernetesArgs.builder()
    .label("string")
    .region("string")
    .version("string")
    .enableFirewall(false)
    .haControlplanes(false)
    .nodePools(KubernetesNodePoolsArgs.builder()
        .label("string")
        .nodeQuantity(0)
        .plan("string")
        .autoScaler(false)
        .dateCreated("string")
        .dateUpdated("string")
        .id("string")
        .maxNodes(0)
        .minNodes(0)
        .nodes(KubernetesNodePoolsNodeArgs.builder()
            .dateCreated("string")
            .id("string")
            .label("string")
            .status("string")
            .build())
        .status("string")
        .tag("string")
        .build())
    .build());
Copy
kubernetes_resource = vultr.Kubernetes("kubernetesResource",
    label="string",
    region="string",
    version="string",
    enable_firewall=False,
    ha_controlplanes=False,
    node_pools={
        "label": "string",
        "node_quantity": 0,
        "plan": "string",
        "auto_scaler": False,
        "date_created": "string",
        "date_updated": "string",
        "id": "string",
        "max_nodes": 0,
        "min_nodes": 0,
        "nodes": [{
            "date_created": "string",
            "id": "string",
            "label": "string",
            "status": "string",
        }],
        "status": "string",
        "tag": "string",
    })
Copy
const kubernetesResource = new vultr.Kubernetes("kubernetesResource", {
    label: "string",
    region: "string",
    version: "string",
    enableFirewall: false,
    haControlplanes: false,
    nodePools: {
        label: "string",
        nodeQuantity: 0,
        plan: "string",
        autoScaler: false,
        dateCreated: "string",
        dateUpdated: "string",
        id: "string",
        maxNodes: 0,
        minNodes: 0,
        nodes: [{
            dateCreated: "string",
            id: "string",
            label: "string",
            status: "string",
        }],
        status: "string",
        tag: "string",
    },
});
Copy
type: vultr:Kubernetes
properties:
    enableFirewall: false
    haControlplanes: false
    label: string
    nodePools:
        autoScaler: false
        dateCreated: string
        dateUpdated: string
        id: string
        label: string
        maxNodes: 0
        minNodes: 0
        nodeQuantity: 0
        nodes:
            - dateCreated: string
              id: string
              label: string
              status: string
        plan: string
        status: string
        tag: string
    region: string
    version: string
Copy

Kubernetes Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Kubernetes resource accepts the following input properties:

Label This property is required. string
The VKE clusters label.
Region
This property is required.
Changes to this property will trigger replacement.
string
The region your VKE cluster will be deployed in.
Version This property is required. string
The version your VKE cluster you want deployed. See Available Version
EnableFirewall Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with a managed firewall.
HaControlplanes Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
NodePools ediri.Vultr.Inputs.KubernetesNodePools
Contains the default node pool that was deployed.
Label This property is required. string
The VKE clusters label.
Region
This property is required.
Changes to this property will trigger replacement.
string
The region your VKE cluster will be deployed in.
Version This property is required. string
The version your VKE cluster you want deployed. See Available Version
EnableFirewall Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with a managed firewall.
HaControlplanes Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
NodePools KubernetesNodePoolsTypeArgs
Contains the default node pool that was deployed.
label This property is required. String
The VKE clusters label.
region
This property is required.
Changes to this property will trigger replacement.
String
The region your VKE cluster will be deployed in.
version This property is required. String
The version your VKE cluster you want deployed. See Available Version
enableFirewall Changes to this property will trigger replacement. Boolean
Boolean indicating if the cluster should be created with a managed firewall.
haControlplanes Changes to this property will trigger replacement. Boolean
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
nodePools KubernetesNodePools
Contains the default node pool that was deployed.
label This property is required. string
The VKE clusters label.
region
This property is required.
Changes to this property will trigger replacement.
string
The region your VKE cluster will be deployed in.
version This property is required. string
The version your VKE cluster you want deployed. See Available Version
enableFirewall Changes to this property will trigger replacement. boolean
Boolean indicating if the cluster should be created with a managed firewall.
haControlplanes Changes to this property will trigger replacement. boolean
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
nodePools KubernetesNodePools
Contains the default node pool that was deployed.
label This property is required. str
The VKE clusters label.
region
This property is required.
Changes to this property will trigger replacement.
str
The region your VKE cluster will be deployed in.
version This property is required. str
The version your VKE cluster you want deployed. See Available Version
enable_firewall Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with a managed firewall.
ha_controlplanes Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
node_pools KubernetesNodePoolsArgs
Contains the default node pool that was deployed.
label This property is required. String
The VKE clusters label.
region
This property is required.
Changes to this property will trigger replacement.
String
The region your VKE cluster will be deployed in.
version This property is required. String
The version your VKE cluster you want deployed. See Available Version
enableFirewall Changes to this property will trigger replacement. Boolean
Boolean indicating if the cluster should be created with a managed firewall.
haControlplanes Changes to this property will trigger replacement. Boolean
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
nodePools Property Map
Contains the default node pool that was deployed.

Outputs

All input properties are implicitly available as output properties. Additionally, the Kubernetes resource produces the following output properties:

ClientCertificate string
The base64 encoded public certificate used by clients to access the cluster.
ClientKey string
The base64 encoded private key used by clients to access the cluster.
ClusterCaCertificate string
The base64 encoded public certificate for the cluster's certificate authority.
ClusterSubnet string
IP range that your pods will run on in this cluster.
DateCreated string
Date node was created.
Endpoint string
Domain for your Kubernetes clusters control plane.
FirewallGroupId string
The ID of the firewall group managed by this cluster.
Id string
The provider-assigned unique ID for this managed resource.
Ip string
IP address of VKE cluster control plane.
KubeConfig string
Base64 encoded Kubeconfig for this VKE cluster.
ServiceSubnet string
IP range that services will run on this cluster.
Status string
Status of node.
ClientCertificate string
The base64 encoded public certificate used by clients to access the cluster.
ClientKey string
The base64 encoded private key used by clients to access the cluster.
ClusterCaCertificate string
The base64 encoded public certificate for the cluster's certificate authority.
ClusterSubnet string
IP range that your pods will run on in this cluster.
DateCreated string
Date node was created.
Endpoint string
Domain for your Kubernetes clusters control plane.
FirewallGroupId string
The ID of the firewall group managed by this cluster.
Id string
The provider-assigned unique ID for this managed resource.
Ip string
IP address of VKE cluster control plane.
KubeConfig string
Base64 encoded Kubeconfig for this VKE cluster.
ServiceSubnet string
IP range that services will run on this cluster.
Status string
Status of node.
clientCertificate String
The base64 encoded public certificate used by clients to access the cluster.
clientKey String
The base64 encoded private key used by clients to access the cluster.
clusterCaCertificate String
The base64 encoded public certificate for the cluster's certificate authority.
clusterSubnet String
IP range that your pods will run on in this cluster.
dateCreated String
Date node was created.
endpoint String
Domain for your Kubernetes clusters control plane.
firewallGroupId String
The ID of the firewall group managed by this cluster.
id String
The provider-assigned unique ID for this managed resource.
ip String
IP address of VKE cluster control plane.
kubeConfig String
Base64 encoded Kubeconfig for this VKE cluster.
serviceSubnet String
IP range that services will run on this cluster.
status String
Status of node.
clientCertificate string
The base64 encoded public certificate used by clients to access the cluster.
clientKey string
The base64 encoded private key used by clients to access the cluster.
clusterCaCertificate string
The base64 encoded public certificate for the cluster's certificate authority.
clusterSubnet string
IP range that your pods will run on in this cluster.
dateCreated string
Date node was created.
endpoint string
Domain for your Kubernetes clusters control plane.
firewallGroupId string
The ID of the firewall group managed by this cluster.
id string
The provider-assigned unique ID for this managed resource.
ip string
IP address of VKE cluster control plane.
kubeConfig string
Base64 encoded Kubeconfig for this VKE cluster.
serviceSubnet string
IP range that services will run on this cluster.
status string
Status of node.
client_certificate str
The base64 encoded public certificate used by clients to access the cluster.
client_key str
The base64 encoded private key used by clients to access the cluster.
cluster_ca_certificate str
The base64 encoded public certificate for the cluster's certificate authority.
cluster_subnet str
IP range that your pods will run on in this cluster.
date_created str
Date node was created.
endpoint str
Domain for your Kubernetes clusters control plane.
firewall_group_id str
The ID of the firewall group managed by this cluster.
id str
The provider-assigned unique ID for this managed resource.
ip str
IP address of VKE cluster control plane.
kube_config str
Base64 encoded Kubeconfig for this VKE cluster.
service_subnet str
IP range that services will run on this cluster.
status str
Status of node.
clientCertificate String
The base64 encoded public certificate used by clients to access the cluster.
clientKey String
The base64 encoded private key used by clients to access the cluster.
clusterCaCertificate String
The base64 encoded public certificate for the cluster's certificate authority.
clusterSubnet String
IP range that your pods will run on in this cluster.
dateCreated String
Date node was created.
endpoint String
Domain for your Kubernetes clusters control plane.
firewallGroupId String
The ID of the firewall group managed by this cluster.
id String
The provider-assigned unique ID for this managed resource.
ip String
IP address of VKE cluster control plane.
kubeConfig String
Base64 encoded Kubeconfig for this VKE cluster.
serviceSubnet String
IP range that services will run on this cluster.
status String
Status of node.

Look up Existing Kubernetes Resource

Get an existing Kubernetes resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: KubernetesState, opts?: CustomResourceOptions): Kubernetes
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        client_certificate: Optional[str] = None,
        client_key: Optional[str] = None,
        cluster_ca_certificate: Optional[str] = None,
        cluster_subnet: Optional[str] = None,
        date_created: Optional[str] = None,
        enable_firewall: Optional[bool] = None,
        endpoint: Optional[str] = None,
        firewall_group_id: Optional[str] = None,
        ha_controlplanes: Optional[bool] = None,
        ip: Optional[str] = None,
        kube_config: Optional[str] = None,
        label: Optional[str] = None,
        node_pools: Optional[KubernetesNodePoolsArgs] = None,
        region: Optional[str] = None,
        service_subnet: Optional[str] = None,
        status: Optional[str] = None,
        version: Optional[str] = None) -> Kubernetes
func GetKubernetes(ctx *Context, name string, id IDInput, state *KubernetesState, opts ...ResourceOption) (*Kubernetes, error)
public static Kubernetes Get(string name, Input<string> id, KubernetesState? state, CustomResourceOptions? opts = null)
public static Kubernetes get(String name, Output<String> id, KubernetesState state, CustomResourceOptions options)
resources:  _:    type: vultr:Kubernetes    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
ClientCertificate string
The base64 encoded public certificate used by clients to access the cluster.
ClientKey string
The base64 encoded private key used by clients to access the cluster.
ClusterCaCertificate string
The base64 encoded public certificate for the cluster's certificate authority.
ClusterSubnet string
IP range that your pods will run on in this cluster.
DateCreated string
Date node was created.
EnableFirewall Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with a managed firewall.
Endpoint string
Domain for your Kubernetes clusters control plane.
FirewallGroupId string
The ID of the firewall group managed by this cluster.
HaControlplanes Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
Ip string
IP address of VKE cluster control plane.
KubeConfig string
Base64 encoded Kubeconfig for this VKE cluster.
Label string
The VKE clusters label.
NodePools ediri.Vultr.Inputs.KubernetesNodePools
Contains the default node pool that was deployed.
Region Changes to this property will trigger replacement. string
The region your VKE cluster will be deployed in.
ServiceSubnet string
IP range that services will run on this cluster.
Status string
Status of node.
Version string
The version your VKE cluster you want deployed. See Available Version
ClientCertificate string
The base64 encoded public certificate used by clients to access the cluster.
ClientKey string
The base64 encoded private key used by clients to access the cluster.
ClusterCaCertificate string
The base64 encoded public certificate for the cluster's certificate authority.
ClusterSubnet string
IP range that your pods will run on in this cluster.
DateCreated string
Date node was created.
EnableFirewall Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with a managed firewall.
Endpoint string
Domain for your Kubernetes clusters control plane.
FirewallGroupId string
The ID of the firewall group managed by this cluster.
HaControlplanes Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
Ip string
IP address of VKE cluster control plane.
KubeConfig string
Base64 encoded Kubeconfig for this VKE cluster.
Label string
The VKE clusters label.
NodePools KubernetesNodePoolsTypeArgs
Contains the default node pool that was deployed.
Region Changes to this property will trigger replacement. string
The region your VKE cluster will be deployed in.
ServiceSubnet string
IP range that services will run on this cluster.
Status string
Status of node.
Version string
The version your VKE cluster you want deployed. See Available Version
clientCertificate String
The base64 encoded public certificate used by clients to access the cluster.
clientKey String
The base64 encoded private key used by clients to access the cluster.
clusterCaCertificate String
The base64 encoded public certificate for the cluster's certificate authority.
clusterSubnet String
IP range that your pods will run on in this cluster.
dateCreated String
Date node was created.
enableFirewall Changes to this property will trigger replacement. Boolean
Boolean indicating if the cluster should be created with a managed firewall.
endpoint String
Domain for your Kubernetes clusters control plane.
firewallGroupId String
The ID of the firewall group managed by this cluster.
haControlplanes Changes to this property will trigger replacement. Boolean
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
ip String
IP address of VKE cluster control plane.
kubeConfig String
Base64 encoded Kubeconfig for this VKE cluster.
label String
The VKE clusters label.
nodePools KubernetesNodePools
Contains the default node pool that was deployed.
region Changes to this property will trigger replacement. String
The region your VKE cluster will be deployed in.
serviceSubnet String
IP range that services will run on this cluster.
status String
Status of node.
version String
The version your VKE cluster you want deployed. See Available Version
clientCertificate string
The base64 encoded public certificate used by clients to access the cluster.
clientKey string
The base64 encoded private key used by clients to access the cluster.
clusterCaCertificate string
The base64 encoded public certificate for the cluster's certificate authority.
clusterSubnet string
IP range that your pods will run on in this cluster.
dateCreated string
Date node was created.
enableFirewall Changes to this property will trigger replacement. boolean
Boolean indicating if the cluster should be created with a managed firewall.
endpoint string
Domain for your Kubernetes clusters control plane.
firewallGroupId string
The ID of the firewall group managed by this cluster.
haControlplanes Changes to this property will trigger replacement. boolean
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
ip string
IP address of VKE cluster control plane.
kubeConfig string
Base64 encoded Kubeconfig for this VKE cluster.
label string
The VKE clusters label.
nodePools KubernetesNodePools
Contains the default node pool that was deployed.
region Changes to this property will trigger replacement. string
The region your VKE cluster will be deployed in.
serviceSubnet string
IP range that services will run on this cluster.
status string
Status of node.
version string
The version your VKE cluster you want deployed. See Available Version
client_certificate str
The base64 encoded public certificate used by clients to access the cluster.
client_key str
The base64 encoded private key used by clients to access the cluster.
cluster_ca_certificate str
The base64 encoded public certificate for the cluster's certificate authority.
cluster_subnet str
IP range that your pods will run on in this cluster.
date_created str
Date node was created.
enable_firewall Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with a managed firewall.
endpoint str
Domain for your Kubernetes clusters control plane.
firewall_group_id str
The ID of the firewall group managed by this cluster.
ha_controlplanes Changes to this property will trigger replacement. bool
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
ip str
IP address of VKE cluster control plane.
kube_config str
Base64 encoded Kubeconfig for this VKE cluster.
label str
The VKE clusters label.
node_pools KubernetesNodePoolsArgs
Contains the default node pool that was deployed.
region Changes to this property will trigger replacement. str
The region your VKE cluster will be deployed in.
service_subnet str
IP range that services will run on this cluster.
status str
Status of node.
version str
The version your VKE cluster you want deployed. See Available Version
clientCertificate String
The base64 encoded public certificate used by clients to access the cluster.
clientKey String
The base64 encoded private key used by clients to access the cluster.
clusterCaCertificate String
The base64 encoded public certificate for the cluster's certificate authority.
clusterSubnet String
IP range that your pods will run on in this cluster.
dateCreated String
Date node was created.
enableFirewall Changes to this property will trigger replacement. Boolean
Boolean indicating if the cluster should be created with a managed firewall.
endpoint String
Domain for your Kubernetes clusters control plane.
firewallGroupId String
The ID of the firewall group managed by this cluster.
haControlplanes Changes to this property will trigger replacement. Boolean
Boolean indicating if the cluster should be created with multiple, highly available controlplanes.
ip String
IP address of VKE cluster control plane.
kubeConfig String
Base64 encoded Kubeconfig for this VKE cluster.
label String
The VKE clusters label.
nodePools Property Map
Contains the default node pool that was deployed.
region Changes to this property will trigger replacement. String
The region your VKE cluster will be deployed in.
serviceSubnet String
IP range that services will run on this cluster.
status String
Status of node.
version String
The version your VKE cluster you want deployed. See Available Version

Supporting Types

KubernetesNodePools
, KubernetesNodePoolsArgs

Label This property is required. string
The label to be used as a prefix for nodes in this node pool.
NodeQuantity This property is required. int
The number of nodes in this node pool.
Plan This property is required. string
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
AutoScaler bool
Enable the auto scaler for the default node pool.
DateCreated string
Date node was created.
DateUpdated string
Date of node pool updates.
Id string
ID of node.
MaxNodes int
The maximum number of nodes to use with the auto scaler.
MinNodes int
The minimum number of nodes to use with the auto scaler.
Nodes List<ediri.Vultr.Inputs.KubernetesNodePoolsNode>
Array that contains information about nodes within this node pool.
Status string
Status of node.
Tag string
Tag for node pool.
Label This property is required. string
The label to be used as a prefix for nodes in this node pool.
NodeQuantity This property is required. int
The number of nodes in this node pool.
Plan This property is required. string
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
AutoScaler bool
Enable the auto scaler for the default node pool.
DateCreated string
Date node was created.
DateUpdated string
Date of node pool updates.
Id string
ID of node.
MaxNodes int
The maximum number of nodes to use with the auto scaler.
MinNodes int
The minimum number of nodes to use with the auto scaler.
Nodes []KubernetesNodePoolsNode
Array that contains information about nodes within this node pool.
Status string
Status of node.
Tag string
Tag for node pool.
label This property is required. String
The label to be used as a prefix for nodes in this node pool.
nodeQuantity This property is required. Integer
The number of nodes in this node pool.
plan This property is required. String
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
autoScaler Boolean
Enable the auto scaler for the default node pool.
dateCreated String
Date node was created.
dateUpdated String
Date of node pool updates.
id String
ID of node.
maxNodes Integer
The maximum number of nodes to use with the auto scaler.
minNodes Integer
The minimum number of nodes to use with the auto scaler.
nodes List<KubernetesNodePoolsNode>
Array that contains information about nodes within this node pool.
status String
Status of node.
tag String
Tag for node pool.
label This property is required. string
The label to be used as a prefix for nodes in this node pool.
nodeQuantity This property is required. number
The number of nodes in this node pool.
plan This property is required. string
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
autoScaler boolean
Enable the auto scaler for the default node pool.
dateCreated string
Date node was created.
dateUpdated string
Date of node pool updates.
id string
ID of node.
maxNodes number
The maximum number of nodes to use with the auto scaler.
minNodes number
The minimum number of nodes to use with the auto scaler.
nodes KubernetesNodePoolsNode[]
Array that contains information about nodes within this node pool.
status string
Status of node.
tag string
Tag for node pool.
label This property is required. str
The label to be used as a prefix for nodes in this node pool.
node_quantity This property is required. int
The number of nodes in this node pool.
plan This property is required. str
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
auto_scaler bool
Enable the auto scaler for the default node pool.
date_created str
Date node was created.
date_updated str
Date of node pool updates.
id str
ID of node.
max_nodes int
The maximum number of nodes to use with the auto scaler.
min_nodes int
The minimum number of nodes to use with the auto scaler.
nodes Sequence[KubernetesNodePoolsNode]
Array that contains information about nodes within this node pool.
status str
Status of node.
tag str
Tag for node pool.
label This property is required. String
The label to be used as a prefix for nodes in this node pool.
nodeQuantity This property is required. Number
The number of nodes in this node pool.
plan This property is required. String
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
autoScaler Boolean
Enable the auto scaler for the default node pool.
dateCreated String
Date node was created.
dateUpdated String
Date of node pool updates.
id String
ID of node.
maxNodes Number
The maximum number of nodes to use with the auto scaler.
minNodes Number
The minimum number of nodes to use with the auto scaler.
nodes List<Property Map>
Array that contains information about nodes within this node pool.
status String
Status of node.
tag String
Tag for node pool.

KubernetesNodePoolsNode
, KubernetesNodePoolsNodeArgs

DateCreated string
Date node was created.
Id string
ID of node.
Label string
The label to be used as a prefix for nodes in this node pool.
Status string
Status of node.
DateCreated string
Date node was created.
Id string
ID of node.
Label string
The label to be used as a prefix for nodes in this node pool.
Status string
Status of node.
dateCreated String
Date node was created.
id String
ID of node.
label String
The label to be used as a prefix for nodes in this node pool.
status String
Status of node.
dateCreated string
Date node was created.
id string
ID of node.
label string
The label to be used as a prefix for nodes in this node pool.
status string
Status of node.
date_created str
Date node was created.
id str
ID of node.
label str
The label to be used as a prefix for nodes in this node pool.
status str
Status of node.
dateCreated String
Date node was created.
id String
ID of node.
label String
The label to be used as a prefix for nodes in this node pool.
status String
Status of node.

Import

A kubernetes cluster created outside of terraform can be imported into the

terraform state using the UUID. One thing to note is that all kubernetes

resources have a default node pool with a tag of tf-vke-default. In order to

avoid errors, ensure that there is a node pool with that tag set.

$ pulumi import vultr:index/kubernetes:Kubernetes my-k8s 7365a98b-5a43-450f-bd27-d768827100e5
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
vultr dirien/pulumi-vultr
License
Apache-2.0
Notes
This Pulumi package is based on the vultr Terraform Provider.