upcloud.KubernetesNodeGroup
Explore with Pulumi AI
This resource represents a Managed Kubernetes cluster.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as upcloud from "@upcloud/pulumi-upcloud";
// Create a network for the Kubernetes cluster
const example = new upcloud.Network("example", {
    name: "example-network",
    zone: "de-fra1",
    ipNetwork: {
        address: "172.16.1.0/24",
        dhcp: true,
        family: "IPv4",
    },
});
// Create a Kubernetes cluster
const exampleKubernetesCluster = new upcloud.KubernetesCluster("example", {
    controlPlaneIpFilters: ["0.0.0.0/0"],
    name: "exampleapp",
    network: example.id,
    zone: "de-fra1",
});
// Create a Kubernetes cluster node group
const group = new upcloud.KubernetesNodeGroup("group", {
    cluster: upcloudKubernetesCluster.example.id,
    nodeCount: 2,
    name: "medium",
    plan: "2xCPU-4GB",
    labels: {
        managedBy: "terraform",
    },
    taints: [{
        effect: "NoExecute",
        key: "taintKey",
        value: "taintValue",
    }],
});
import pulumi
import pulumi_upcloud as upcloud
# Create a network for the Kubernetes cluster
example = upcloud.Network("example",
    name="example-network",
    zone="de-fra1",
    ip_network={
        "address": "172.16.1.0/24",
        "dhcp": True,
        "family": "IPv4",
    })
# Create a Kubernetes cluster
example_kubernetes_cluster = upcloud.KubernetesCluster("example",
    control_plane_ip_filters=["0.0.0.0/0"],
    name="exampleapp",
    network=example.id,
    zone="de-fra1")
# Create a Kubernetes cluster node group
group = upcloud.KubernetesNodeGroup("group",
    cluster=upcloud_kubernetes_cluster["example"]["id"],
    node_count=2,
    name="medium",
    plan="2xCPU-4GB",
    labels={
        "managedBy": "terraform",
    },
    taints=[{
        "effect": "NoExecute",
        "key": "taintKey",
        "value": "taintValue",
    }])
package main
import (
	"github.com/UpCloudLtd/pulumi-upcloud/sdk/go/upcloud"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Create a network for the Kubernetes cluster
		example, err := upcloud.NewNetwork(ctx, "example", &upcloud.NetworkArgs{
			Name: pulumi.String("example-network"),
			Zone: pulumi.String("de-fra1"),
			IpNetwork: &upcloud.NetworkIpNetworkArgs{
				Address: pulumi.String("172.16.1.0/24"),
				Dhcp:    pulumi.Bool(true),
				Family:  pulumi.String("IPv4"),
			},
		})
		if err != nil {
			return err
		}
		// Create a Kubernetes cluster
		_, err = upcloud.NewKubernetesCluster(ctx, "example", &upcloud.KubernetesClusterArgs{
			ControlPlaneIpFilters: pulumi.StringArray{
				pulumi.String("0.0.0.0/0"),
			},
			Name:    pulumi.String("exampleapp"),
			Network: example.ID(),
			Zone:    pulumi.String("de-fra1"),
		})
		if err != nil {
			return err
		}
		// Create a Kubernetes cluster node group
		_, err = upcloud.NewKubernetesNodeGroup(ctx, "group", &upcloud.KubernetesNodeGroupArgs{
			Cluster:   pulumi.Any(upcloudKubernetesCluster.Example.Id),
			NodeCount: pulumi.Int(2),
			Name:      pulumi.String("medium"),
			Plan:      pulumi.String("2xCPU-4GB"),
			Labels: pulumi.StringMap{
				"managedBy": pulumi.String("terraform"),
			},
			Taints: upcloud.KubernetesNodeGroupTaintArray{
				&upcloud.KubernetesNodeGroupTaintArgs{
					Effect: pulumi.String("NoExecute"),
					Key:    pulumi.String("taintKey"),
					Value:  pulumi.String("taintValue"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using UpCloud = UpCloud.Pulumi.UpCloud;
return await Deployment.RunAsync(() => 
{
    // Create a network for the Kubernetes cluster
    var example = new UpCloud.Network("example", new()
    {
        Name = "example-network",
        Zone = "de-fra1",
        IpNetwork = new UpCloud.Inputs.NetworkIpNetworkArgs
        {
            Address = "172.16.1.0/24",
            Dhcp = true,
            Family = "IPv4",
        },
    });
    // Create a Kubernetes cluster
    var exampleKubernetesCluster = new UpCloud.KubernetesCluster("example", new()
    {
        ControlPlaneIpFilters = new[]
        {
            "0.0.0.0/0",
        },
        Name = "exampleapp",
        Network = example.Id,
        Zone = "de-fra1",
    });
    // Create a Kubernetes cluster node group
    var @group = new UpCloud.KubernetesNodeGroup("group", new()
    {
        Cluster = upcloudKubernetesCluster.Example.Id,
        NodeCount = 2,
        Name = "medium",
        Plan = "2xCPU-4GB",
        Labels = 
        {
            { "managedBy", "terraform" },
        },
        Taints = new[]
        {
            new UpCloud.Inputs.KubernetesNodeGroupTaintArgs
            {
                Effect = "NoExecute",
                Key = "taintKey",
                Value = "taintValue",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.upcloud.Network;
import com.pulumi.upcloud.NetworkArgs;
import com.pulumi.upcloud.inputs.NetworkIpNetworkArgs;
import com.pulumi.upcloud.KubernetesCluster;
import com.pulumi.upcloud.KubernetesClusterArgs;
import com.pulumi.upcloud.KubernetesNodeGroup;
import com.pulumi.upcloud.KubernetesNodeGroupArgs;
import com.pulumi.upcloud.inputs.KubernetesNodeGroupTaintArgs;
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) {
        // Create a network for the Kubernetes cluster
        var example = new Network("example", NetworkArgs.builder()
            .name("example-network")
            .zone("de-fra1")
            .ipNetwork(NetworkIpNetworkArgs.builder()
                .address("172.16.1.0/24")
                .dhcp(true)
                .family("IPv4")
                .build())
            .build());
        // Create a Kubernetes cluster
        var exampleKubernetesCluster = new KubernetesCluster("exampleKubernetesCluster", KubernetesClusterArgs.builder()
            .controlPlaneIpFilters("0.0.0.0/0")
            .name("exampleapp")
            .network(example.id())
            .zone("de-fra1")
            .build());
        // Create a Kubernetes cluster node group
        var group = new KubernetesNodeGroup("group", KubernetesNodeGroupArgs.builder()
            .cluster(upcloudKubernetesCluster.example().id())
            .nodeCount(2)
            .name("medium")
            .plan("2xCPU-4GB")
            .labels(Map.of("managedBy", "terraform"))
            .taints(KubernetesNodeGroupTaintArgs.builder()
                .effect("NoExecute")
                .key("taintKey")
                .value("taintValue")
                .build())
            .build());
    }
}
resources:
  # Create a network for the Kubernetes cluster
  example:
    type: upcloud:Network
    properties:
      name: example-network
      zone: de-fra1
      ipNetwork:
        address: 172.16.1.0/24
        dhcp: true
        family: IPv4
  # Create a Kubernetes cluster
  exampleKubernetesCluster:
    type: upcloud:KubernetesCluster
    name: example
    properties:
      controlPlaneIpFilters:
        - 0.0.0.0/0
      name: exampleapp
      network: ${example.id}
      zone: de-fra1
  # Create a Kubernetes cluster node group
  group:
    type: upcloud:KubernetesNodeGroup
    properties:
      cluster: ${upcloudKubernetesCluster.example.id}
      nodeCount: 2
      name: medium
      plan: 2xCPU-4GB
      labels:
        managedBy: terraform
      taints:
        - effect: NoExecute
          key: taintKey
          value: taintValue
Create KubernetesNodeGroup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new KubernetesNodeGroup(name: string, args: KubernetesNodeGroupArgs, opts?: CustomResourceOptions);@overload
def KubernetesNodeGroup(resource_name: str,
                        args: KubernetesNodeGroupArgs,
                        opts: Optional[ResourceOptions] = None)
@overload
def KubernetesNodeGroup(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        cluster: Optional[str] = None,
                        node_count: Optional[int] = None,
                        plan: Optional[str] = None,
                        anti_affinity: Optional[bool] = None,
                        custom_plan: Optional[KubernetesNodeGroupCustomPlanArgs] = None,
                        kubelet_args: Optional[Sequence[KubernetesNodeGroupKubeletArgArgs]] = None,
                        labels: Optional[Mapping[str, str]] = None,
                        name: Optional[str] = None,
                        ssh_keys: Optional[Sequence[str]] = None,
                        storage_encryption: Optional[str] = None,
                        taints: Optional[Sequence[KubernetesNodeGroupTaintArgs]] = None,
                        utility_network_access: Optional[bool] = None)func NewKubernetesNodeGroup(ctx *Context, name string, args KubernetesNodeGroupArgs, opts ...ResourceOption) (*KubernetesNodeGroup, error)public KubernetesNodeGroup(string name, KubernetesNodeGroupArgs args, CustomResourceOptions? opts = null)
public KubernetesNodeGroup(String name, KubernetesNodeGroupArgs args)
public KubernetesNodeGroup(String name, KubernetesNodeGroupArgs args, CustomResourceOptions options)
type: upcloud:KubernetesNodeGroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args KubernetesNodeGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args KubernetesNodeGroupArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args KubernetesNodeGroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args KubernetesNodeGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args KubernetesNodeGroupArgs
- 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 kubernetesNodeGroupResource = new UpCloud.KubernetesNodeGroup("kubernetesNodeGroupResource", new()
{
    Cluster = "string",
    NodeCount = 0,
    Plan = "string",
    AntiAffinity = false,
    CustomPlan = new UpCloud.Inputs.KubernetesNodeGroupCustomPlanArgs
    {
        Cores = 0,
        Memory = 0,
        StorageSize = 0,
        StorageTier = "string",
    },
    KubeletArgs = new[]
    {
        new UpCloud.Inputs.KubernetesNodeGroupKubeletArgArgs
        {
            Key = "string",
            Value = "string",
        },
    },
    Labels = 
    {
        { "string", "string" },
    },
    Name = "string",
    SshKeys = new[]
    {
        "string",
    },
    StorageEncryption = "string",
    Taints = new[]
    {
        new UpCloud.Inputs.KubernetesNodeGroupTaintArgs
        {
            Effect = "string",
            Key = "string",
            Value = "string",
        },
    },
    UtilityNetworkAccess = false,
});
example, err := upcloud.NewKubernetesNodeGroup(ctx, "kubernetesNodeGroupResource", &upcloud.KubernetesNodeGroupArgs{
	Cluster:      pulumi.String("string"),
	NodeCount:    pulumi.Int(0),
	Plan:         pulumi.String("string"),
	AntiAffinity: pulumi.Bool(false),
	CustomPlan: &upcloud.KubernetesNodeGroupCustomPlanArgs{
		Cores:       pulumi.Int(0),
		Memory:      pulumi.Int(0),
		StorageSize: pulumi.Int(0),
		StorageTier: pulumi.String("string"),
	},
	KubeletArgs: upcloud.KubernetesNodeGroupKubeletArgArray{
		&upcloud.KubernetesNodeGroupKubeletArgArgs{
			Key:   pulumi.String("string"),
			Value: pulumi.String("string"),
		},
	},
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Name: pulumi.String("string"),
	SshKeys: pulumi.StringArray{
		pulumi.String("string"),
	},
	StorageEncryption: pulumi.String("string"),
	Taints: upcloud.KubernetesNodeGroupTaintArray{
		&upcloud.KubernetesNodeGroupTaintArgs{
			Effect: pulumi.String("string"),
			Key:    pulumi.String("string"),
			Value:  pulumi.String("string"),
		},
	},
	UtilityNetworkAccess: pulumi.Bool(false),
})
var kubernetesNodeGroupResource = new KubernetesNodeGroup("kubernetesNodeGroupResource", KubernetesNodeGroupArgs.builder()
    .cluster("string")
    .nodeCount(0)
    .plan("string")
    .antiAffinity(false)
    .customPlan(KubernetesNodeGroupCustomPlanArgs.builder()
        .cores(0)
        .memory(0)
        .storageSize(0)
        .storageTier("string")
        .build())
    .kubeletArgs(KubernetesNodeGroupKubeletArgArgs.builder()
        .key("string")
        .value("string")
        .build())
    .labels(Map.of("string", "string"))
    .name("string")
    .sshKeys("string")
    .storageEncryption("string")
    .taints(KubernetesNodeGroupTaintArgs.builder()
        .effect("string")
        .key("string")
        .value("string")
        .build())
    .utilityNetworkAccess(false)
    .build());
kubernetes_node_group_resource = upcloud.KubernetesNodeGroup("kubernetesNodeGroupResource",
    cluster="string",
    node_count=0,
    plan="string",
    anti_affinity=False,
    custom_plan={
        "cores": 0,
        "memory": 0,
        "storage_size": 0,
        "storage_tier": "string",
    },
    kubelet_args=[{
        "key": "string",
        "value": "string",
    }],
    labels={
        "string": "string",
    },
    name="string",
    ssh_keys=["string"],
    storage_encryption="string",
    taints=[{
        "effect": "string",
        "key": "string",
        "value": "string",
    }],
    utility_network_access=False)
const kubernetesNodeGroupResource = new upcloud.KubernetesNodeGroup("kubernetesNodeGroupResource", {
    cluster: "string",
    nodeCount: 0,
    plan: "string",
    antiAffinity: false,
    customPlan: {
        cores: 0,
        memory: 0,
        storageSize: 0,
        storageTier: "string",
    },
    kubeletArgs: [{
        key: "string",
        value: "string",
    }],
    labels: {
        string: "string",
    },
    name: "string",
    sshKeys: ["string"],
    storageEncryption: "string",
    taints: [{
        effect: "string",
        key: "string",
        value: "string",
    }],
    utilityNetworkAccess: false,
});
type: upcloud:KubernetesNodeGroup
properties:
    antiAffinity: false
    cluster: string
    customPlan:
        cores: 0
        memory: 0
        storageSize: 0
        storageTier: string
    kubeletArgs:
        - key: string
          value: string
    labels:
        string: string
    name: string
    nodeCount: 0
    plan: string
    sshKeys:
        - string
    storageEncryption: string
    taints:
        - effect: string
          key: string
          value: string
    utilityNetworkAccess: false
KubernetesNodeGroup 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 KubernetesNodeGroup resource accepts the following input properties:
- Cluster string
- UUID of the cluster.
- NodeCount int
- Amount of nodes to provision in the node group.
- Plan string
- The server plan used for the node group. You can list available plans with upctl server plans
- AntiAffinity bool
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- CustomPlan UpCloud. Pulumi. Up Cloud. Inputs. Kubernetes Node Group Custom Plan 
- Resource properties for custom plan
- KubeletArgs List<UpCloud. Pulumi. Up Cloud. Inputs. Kubernetes Node Group Kubelet Arg> 
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- Labels Dictionary<string, string>
- User defined key-value pairs to classify the node_group.
- Name string
- The name of the node group. Needs to be unique within a cluster.
- SshKeys List<string>
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- StorageEncryption string
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- Taints
List<UpCloud. Pulumi. Up Cloud. Inputs. Kubernetes Node Group Taint> 
- Taints for the nodes in this group.
- UtilityNetwork boolAccess 
- If set to false, nodes in this group will not have access to utility network.
- Cluster string
- UUID of the cluster.
- NodeCount int
- Amount of nodes to provision in the node group.
- Plan string
- The server plan used for the node group. You can list available plans with upctl server plans
- AntiAffinity bool
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- CustomPlan KubernetesNode Group Custom Plan Args 
- Resource properties for custom plan
- KubeletArgs []KubernetesNode Group Kubelet Arg Args 
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- Labels map[string]string
- User defined key-value pairs to classify the node_group.
- Name string
- The name of the node group. Needs to be unique within a cluster.
- SshKeys []string
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- StorageEncryption string
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- Taints
[]KubernetesNode Group Taint Args 
- Taints for the nodes in this group.
- UtilityNetwork boolAccess 
- If set to false, nodes in this group will not have access to utility network.
- cluster String
- UUID of the cluster.
- nodeCount Integer
- Amount of nodes to provision in the node group.
- plan String
- The server plan used for the node group. You can list available plans with upctl server plans
- antiAffinity Boolean
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- customPlan KubernetesNode Group Custom Plan 
- Resource properties for custom plan
- kubeletArgs List<KubernetesNode Group Kubelet Arg> 
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- labels Map<String,String>
- User defined key-value pairs to classify the node_group.
- name String
- The name of the node group. Needs to be unique within a cluster.
- sshKeys List<String>
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- storageEncryption String
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- taints
List<KubernetesNode Group Taint> 
- Taints for the nodes in this group.
- utilityNetwork BooleanAccess 
- If set to false, nodes in this group will not have access to utility network.
- cluster string
- UUID of the cluster.
- nodeCount number
- Amount of nodes to provision in the node group.
- plan string
- The server plan used for the node group. You can list available plans with upctl server plans
- antiAffinity boolean
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- customPlan KubernetesNode Group Custom Plan 
- Resource properties for custom plan
- kubeletArgs KubernetesNode Group Kubelet Arg[] 
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- labels {[key: string]: string}
- User defined key-value pairs to classify the node_group.
- name string
- The name of the node group. Needs to be unique within a cluster.
- sshKeys string[]
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- storageEncryption string
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- taints
KubernetesNode Group Taint[] 
- Taints for the nodes in this group.
- utilityNetwork booleanAccess 
- If set to false, nodes in this group will not have access to utility network.
- cluster str
- UUID of the cluster.
- node_count int
- Amount of nodes to provision in the node group.
- plan str
- The server plan used for the node group. You can list available plans with upctl server plans
- anti_affinity bool
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- custom_plan KubernetesNode Group Custom Plan Args 
- Resource properties for custom plan
- kubelet_args Sequence[KubernetesNode Group Kubelet Arg Args] 
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- labels Mapping[str, str]
- User defined key-value pairs to classify the node_group.
- name str
- The name of the node group. Needs to be unique within a cluster.
- ssh_keys Sequence[str]
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- storage_encryption str
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- taints
Sequence[KubernetesNode Group Taint Args] 
- Taints for the nodes in this group.
- utility_network_ boolaccess 
- If set to false, nodes in this group will not have access to utility network.
- cluster String
- UUID of the cluster.
- nodeCount Number
- Amount of nodes to provision in the node group.
- plan String
- The server plan used for the node group. You can list available plans with upctl server plans
- antiAffinity Boolean
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- customPlan Property Map
- Resource properties for custom plan
- kubeletArgs List<Property Map>
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- labels Map<String>
- User defined key-value pairs to classify the node_group.
- name String
- The name of the node group. Needs to be unique within a cluster.
- sshKeys List<String>
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- storageEncryption String
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- taints List<Property Map>
- Taints for the nodes in this group.
- utilityNetwork BooleanAccess 
- If set to false, nodes in this group will not have access to utility network.
Outputs
All input properties are implicitly available as output properties. Additionally, the KubernetesNodeGroup resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing KubernetesNodeGroup Resource
Get an existing KubernetesNodeGroup 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?: KubernetesNodeGroupState, opts?: CustomResourceOptions): KubernetesNodeGroup@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        anti_affinity: Optional[bool] = None,
        cluster: Optional[str] = None,
        custom_plan: Optional[KubernetesNodeGroupCustomPlanArgs] = None,
        kubelet_args: Optional[Sequence[KubernetesNodeGroupKubeletArgArgs]] = None,
        labels: Optional[Mapping[str, str]] = None,
        name: Optional[str] = None,
        node_count: Optional[int] = None,
        plan: Optional[str] = None,
        ssh_keys: Optional[Sequence[str]] = None,
        storage_encryption: Optional[str] = None,
        taints: Optional[Sequence[KubernetesNodeGroupTaintArgs]] = None,
        utility_network_access: Optional[bool] = None) -> KubernetesNodeGroupfunc GetKubernetesNodeGroup(ctx *Context, name string, id IDInput, state *KubernetesNodeGroupState, opts ...ResourceOption) (*KubernetesNodeGroup, error)public static KubernetesNodeGroup Get(string name, Input<string> id, KubernetesNodeGroupState? state, CustomResourceOptions? opts = null)public static KubernetesNodeGroup get(String name, Output<String> id, KubernetesNodeGroupState state, CustomResourceOptions options)resources:  _:    type: upcloud:KubernetesNodeGroup    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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.
- AntiAffinity bool
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- Cluster string
- UUID of the cluster.
- CustomPlan UpCloud. Pulumi. Up Cloud. Inputs. Kubernetes Node Group Custom Plan 
- Resource properties for custom plan
- KubeletArgs List<UpCloud. Pulumi. Up Cloud. Inputs. Kubernetes Node Group Kubelet Arg> 
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- Labels Dictionary<string, string>
- User defined key-value pairs to classify the node_group.
- Name string
- The name of the node group. Needs to be unique within a cluster.
- NodeCount int
- Amount of nodes to provision in the node group.
- Plan string
- The server plan used for the node group. You can list available plans with upctl server plans
- SshKeys List<string>
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- StorageEncryption string
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- Taints
List<UpCloud. Pulumi. Up Cloud. Inputs. Kubernetes Node Group Taint> 
- Taints for the nodes in this group.
- UtilityNetwork boolAccess 
- If set to false, nodes in this group will not have access to utility network.
- AntiAffinity bool
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- Cluster string
- UUID of the cluster.
- CustomPlan KubernetesNode Group Custom Plan Args 
- Resource properties for custom plan
- KubeletArgs []KubernetesNode Group Kubelet Arg Args 
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- Labels map[string]string
- User defined key-value pairs to classify the node_group.
- Name string
- The name of the node group. Needs to be unique within a cluster.
- NodeCount int
- Amount of nodes to provision in the node group.
- Plan string
- The server plan used for the node group. You can list available plans with upctl server plans
- SshKeys []string
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- StorageEncryption string
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- Taints
[]KubernetesNode Group Taint Args 
- Taints for the nodes in this group.
- UtilityNetwork boolAccess 
- If set to false, nodes in this group will not have access to utility network.
- antiAffinity Boolean
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- cluster String
- UUID of the cluster.
- customPlan KubernetesNode Group Custom Plan 
- Resource properties for custom plan
- kubeletArgs List<KubernetesNode Group Kubelet Arg> 
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- labels Map<String,String>
- User defined key-value pairs to classify the node_group.
- name String
- The name of the node group. Needs to be unique within a cluster.
- nodeCount Integer
- Amount of nodes to provision in the node group.
- plan String
- The server plan used for the node group. You can list available plans with upctl server plans
- sshKeys List<String>
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- storageEncryption String
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- taints
List<KubernetesNode Group Taint> 
- Taints for the nodes in this group.
- utilityNetwork BooleanAccess 
- If set to false, nodes in this group will not have access to utility network.
- antiAffinity boolean
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- cluster string
- UUID of the cluster.
- customPlan KubernetesNode Group Custom Plan 
- Resource properties for custom plan
- kubeletArgs KubernetesNode Group Kubelet Arg[] 
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- labels {[key: string]: string}
- User defined key-value pairs to classify the node_group.
- name string
- The name of the node group. Needs to be unique within a cluster.
- nodeCount number
- Amount of nodes to provision in the node group.
- plan string
- The server plan used for the node group. You can list available plans with upctl server plans
- sshKeys string[]
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- storageEncryption string
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- taints
KubernetesNode Group Taint[] 
- Taints for the nodes in this group.
- utilityNetwork booleanAccess 
- If set to false, nodes in this group will not have access to utility network.
- anti_affinity bool
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- cluster str
- UUID of the cluster.
- custom_plan KubernetesNode Group Custom Plan Args 
- Resource properties for custom plan
- kubelet_args Sequence[KubernetesNode Group Kubelet Arg Args] 
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- labels Mapping[str, str]
- User defined key-value pairs to classify the node_group.
- name str
- The name of the node group. Needs to be unique within a cluster.
- node_count int
- Amount of nodes to provision in the node group.
- plan str
- The server plan used for the node group. You can list available plans with upctl server plans
- ssh_keys Sequence[str]
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- storage_encryption str
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- taints
Sequence[KubernetesNode Group Taint Args] 
- Taints for the nodes in this group.
- utility_network_ boolaccess 
- If set to false, nodes in this group will not have access to utility network.
- antiAffinity Boolean
- If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware.
- cluster String
- UUID of the cluster.
- customPlan Property Map
- Resource properties for custom plan
- kubeletArgs List<Property Map>
- Additional arguments for kubelet for the nodes in this group. WARNING - those arguments will be passed directly to kubelet CLI on each worker node without any validation. Passing invalid arguments can break your whole cluster. Be extra careful when adding kubelet args.
- labels Map<String>
- User defined key-value pairs to classify the node_group.
- name String
- The name of the node group. Needs to be unique within a cluster.
- nodeCount Number
- Amount of nodes to provision in the node group.
- plan String
- The server plan used for the node group. You can list available plans with upctl server plans
- sshKeys List<String>
- You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running.
- storageEncryption String
- The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable.
- taints List<Property Map>
- Taints for the nodes in this group.
- utilityNetwork BooleanAccess 
- If set to false, nodes in this group will not have access to utility network.
Supporting Types
KubernetesNodeGroupCustomPlan, KubernetesNodeGroupCustomPlanArgs          
- Cores int
- The number of CPU cores dedicated to individual node group nodes when using custom plan
- Memory int
- The amount of memory in megabytes to assign to individual node group node when using custom plan. Value needs to be divisible by 1024.
- StorageSize int
- The size of the storage device in gigabytes.
- StorageTier string
- The storage tier to use. Defaults to maxiops
- Cores int
- The number of CPU cores dedicated to individual node group nodes when using custom plan
- Memory int
- The amount of memory in megabytes to assign to individual node group node when using custom plan. Value needs to be divisible by 1024.
- StorageSize int
- The size of the storage device in gigabytes.
- StorageTier string
- The storage tier to use. Defaults to maxiops
- cores Integer
- The number of CPU cores dedicated to individual node group nodes when using custom plan
- memory Integer
- The amount of memory in megabytes to assign to individual node group node when using custom plan. Value needs to be divisible by 1024.
- storageSize Integer
- The size of the storage device in gigabytes.
- storageTier String
- The storage tier to use. Defaults to maxiops
- cores number
- The number of CPU cores dedicated to individual node group nodes when using custom plan
- memory number
- The amount of memory in megabytes to assign to individual node group node when using custom plan. Value needs to be divisible by 1024.
- storageSize number
- The size of the storage device in gigabytes.
- storageTier string
- The storage tier to use. Defaults to maxiops
- cores int
- The number of CPU cores dedicated to individual node group nodes when using custom plan
- memory int
- The amount of memory in megabytes to assign to individual node group node when using custom plan. Value needs to be divisible by 1024.
- storage_size int
- The size of the storage device in gigabytes.
- storage_tier str
- The storage tier to use. Defaults to maxiops
- cores Number
- The number of CPU cores dedicated to individual node group nodes when using custom plan
- memory Number
- The amount of memory in megabytes to assign to individual node group node when using custom plan. Value needs to be divisible by 1024.
- storageSize Number
- The size of the storage device in gigabytes.
- storageTier String
- The storage tier to use. Defaults to maxiops
KubernetesNodeGroupKubeletArg, KubernetesNodeGroupKubeletArgArgs          
KubernetesNodeGroupTaint, KubernetesNodeGroupTaintArgs        
Package Details
- Repository
- upcloud UpCloudLtd/pulumi-upcloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the upcloudTerraform Provider.
