published on Thursday, Feb 26, 2026 by Pulumi
published on Thursday, Feb 26, 2026 by Pulumi
Provides a Rancher v2 Cluster v2 resource. This can be used to create node-driver and custom RKE2 and K3s Clusters for Rancher v2 environments and retrieve their information.
This resource is available in Rancher v2.6.0 and above.
Hint: To create an imported cluster for registering a standalone Kubernetes cluster into rancher, use the Rancher v2 Cluster resource instead.
Example Usage
You can create a Rancher v2 cluster v2 that runs either RKE2 or K3s.
There are some distribution-specific arguments, especially the ones under the rke_config section, that you can utilize to configure your RKE2 or K3s cluster.
More details and examples can be found on this page.
You can create two types of clusters depending on how nodes are managed:
- a custom cluster to which your existing VM(s) can be registered
- a node-driver cluster in which Rancher provisions and manages the VM(s) on the specified infrastructure provider
The cluster will be created as a custom cluster if there are no machine_pools in the configuration;
otherwise, it will be created as a node-driver cluster.
All arguments, except some distribution-specific ones, are applied to both custom and node-driver clusters of both distributions.
Create a custom cluster
Below is the minimum configuration for creating a custom cluster:
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
name: "foo",
kubernetesVersion: "rke2-/k3s-version",
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
name="foo",
kubernetes_version="rke2-/k3s-version")
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2-/k3s-version"),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
Name = "foo",
KubernetesVersion = "rke2-/k3s-version",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.name("foo")
.kubernetesVersion("rke2-/k3s-version")
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
name: foo
kubernetesVersion: rke2-/k3s-version
Once the cluster is created, you get the node registration command from rancher2_cluster_v2.foo.cluster_registration_token.
Create a node-driver cluster
Before creating a node-driver cluster, you need to create a rancher2.MachineConfigV2 resource which will be referred to in the machine pool(s) of the cluster.
The example below demonstrates how to create a rancher2.MachineConfigV2 resource with AmazonEC2 as the infrastructure provider:
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
// Create AmazonEC2 cloud credential
const foo = new rancher2.CloudCredential("foo", {
name: "foo",
amazonec2CredentialConfig: {
accessKey: "<ACCESS_KEY>",
secretKey: "<SECRET_KEY>",
},
});
// Create AmazonEC2 machine config v2
const fooMachineConfigV2 = new rancher2.MachineConfigV2("foo", {
generateName: "test-foo",
amazonec2Config: {
ami: "ami-id",
region: "region",
securityGroups: ["security-group"],
subnetId: "subnet-id",
vpcId: "vpc-id",
zone: "zone",
},
});
import pulumi
import pulumi_rancher2 as rancher2
# Create AmazonEC2 cloud credential
foo = rancher2.CloudCredential("foo",
name="foo",
amazonec2_credential_config={
"access_key": "<ACCESS_KEY>",
"secret_key": "<SECRET_KEY>",
})
# Create AmazonEC2 machine config v2
foo_machine_config_v2 = rancher2.MachineConfigV2("foo",
generate_name="test-foo",
amazonec2_config={
"ami": "ami-id",
"region": "region",
"security_groups": ["security-group"],
"subnet_id": "subnet-id",
"vpc_id": "vpc-id",
"zone": "zone",
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create AmazonEC2 cloud credential
_, err := rancher2.NewCloudCredential(ctx, "foo", &rancher2.CloudCredentialArgs{
Name: pulumi.String("foo"),
Amazonec2CredentialConfig: &rancher2.CloudCredentialAmazonec2CredentialConfigArgs{
AccessKey: pulumi.String("<ACCESS_KEY>"),
SecretKey: pulumi.String("<SECRET_KEY>"),
},
})
if err != nil {
return err
}
// Create AmazonEC2 machine config v2
_, err = rancher2.NewMachineConfigV2(ctx, "foo", &rancher2.MachineConfigV2Args{
GenerateName: pulumi.String("test-foo"),
Amazonec2Config: &rancher2.MachineConfigV2Amazonec2ConfigArgs{
Ami: pulumi.String("ami-id"),
Region: pulumi.String("region"),
SecurityGroups: pulumi.StringArray{
pulumi.String("security-group"),
},
SubnetId: pulumi.String("subnet-id"),
VpcId: pulumi.String("vpc-id"),
Zone: pulumi.String("zone"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
// Create AmazonEC2 cloud credential
var foo = new Rancher2.CloudCredential("foo", new()
{
Name = "foo",
Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs
{
AccessKey = "<ACCESS_KEY>",
SecretKey = "<SECRET_KEY>",
},
});
// Create AmazonEC2 machine config v2
var fooMachineConfigV2 = new Rancher2.MachineConfigV2("foo", new()
{
GenerateName = "test-foo",
Amazonec2Config = new Rancher2.Inputs.MachineConfigV2Amazonec2ConfigArgs
{
Ami = "ami-id",
Region = "region",
SecurityGroups = new[]
{
"security-group",
},
SubnetId = "subnet-id",
VpcId = "vpc-id",
Zone = "zone",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.CloudCredential;
import com.pulumi.rancher2.CloudCredentialArgs;
import com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;
import com.pulumi.rancher2.MachineConfigV2;
import com.pulumi.rancher2.MachineConfigV2Args;
import com.pulumi.rancher2.inputs.MachineConfigV2Amazonec2ConfigArgs;
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 AmazonEC2 cloud credential
var foo = new CloudCredential("foo", CloudCredentialArgs.builder()
.name("foo")
.amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()
.accessKey("<ACCESS_KEY>")
.secretKey("<SECRET_KEY>")
.build())
.build());
// Create AmazonEC2 machine config v2
var fooMachineConfigV2 = new MachineConfigV2("fooMachineConfigV2", MachineConfigV2Args.builder()
.generateName("test-foo")
.amazonec2Config(MachineConfigV2Amazonec2ConfigArgs.builder()
.ami("ami-id")
.region("region")
.securityGroups("security-group")
.subnetId("subnet-id")
.vpcId("vpc-id")
.zone("zone")
.build())
.build());
}
}
resources:
# Create AmazonEC2 cloud credential
foo:
type: rancher2:CloudCredential
properties:
name: foo
amazonec2CredentialConfig:
accessKey: <ACCESS_KEY>
secretKey: <SECRET_KEY>
# Create AmazonEC2 machine config v2
fooMachineConfigV2:
type: rancher2:MachineConfigV2
name: foo
properties:
generateName: test-foo
amazonec2Config:
ami: ami-id
region: region
securityGroups:
- security-group
subnetId: subnet-id
vpcId: vpc-id
zone: zone
For the full list of supported infrastructure providers and their arguments, please refer to the page for the rancher2.MachineConfigV2 resource.
Now, you can create an RKE2 or K3s node-driver cluster with one or more machine pools:
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
// Create a cluster with multiple machine pools
const foo = new rancher2.ClusterV2("foo", {
name: "foo",
kubernetesVersion: "rke2/k3s-version",
enableNetworkPolicy: false,
rkeConfig: {
machinePools: [
{
name: "pool1",
cloudCredentialSecretName: fooRancher2CloudCredential.id,
controlPlaneRole: true,
etcdRole: true,
workerRole: false,
quantity: 1,
drainBeforeDelete: true,
machineConfig: {
kind: fooRancher2MachineConfigV2.kind,
name: fooRancher2MachineConfigV2.name,
},
},
{
name: "pool2",
cloudCredentialSecretName: fooRancher2CloudCredential.id,
controlPlaneRole: false,
etcdRole: false,
workerRole: true,
quantity: 2,
drainBeforeDelete: true,
machineConfig: {
kind: fooRancher2MachineConfigV2.kind,
name: fooRancher2MachineConfigV2.name,
},
},
],
},
});
// Create a cluster with a single machine pool
const foo_k3s = new rancher2.ClusterV2("foo-k3s", {
name: "foo-k3s",
kubernetesVersion: "rke2/k3s-version",
enableNetworkPolicy: false,
rkeConfig: {
machinePools: [{
name: "pool",
cloudCredentialSecretName: fooRancher2CloudCredential.id,
controlPlaneRole: true,
etcdRole: true,
workerRole: true,
quantity: 1,
machineConfig: {
kind: fooRancher2MachineConfigV2.kind,
name: fooRancher2MachineConfigV2.name,
},
}],
},
});
import pulumi
import pulumi_rancher2 as rancher2
# Create a cluster with multiple machine pools
foo = rancher2.ClusterV2("foo",
name="foo",
kubernetes_version="rke2/k3s-version",
enable_network_policy=False,
rke_config={
"machine_pools": [
{
"name": "pool1",
"cloud_credential_secret_name": foo_rancher2_cloud_credential["id"],
"control_plane_role": True,
"etcd_role": True,
"worker_role": False,
"quantity": 1,
"drain_before_delete": True,
"machine_config": {
"kind": foo_rancher2_machine_config_v2["kind"],
"name": foo_rancher2_machine_config_v2["name"],
},
},
{
"name": "pool2",
"cloud_credential_secret_name": foo_rancher2_cloud_credential["id"],
"control_plane_role": False,
"etcd_role": False,
"worker_role": True,
"quantity": 2,
"drain_before_delete": True,
"machine_config": {
"kind": foo_rancher2_machine_config_v2["kind"],
"name": foo_rancher2_machine_config_v2["name"],
},
},
],
})
# Create a cluster with a single machine pool
foo_k3s = rancher2.ClusterV2("foo-k3s",
name="foo-k3s",
kubernetes_version="rke2/k3s-version",
enable_network_policy=False,
rke_config={
"machine_pools": [{
"name": "pool",
"cloud_credential_secret_name": foo_rancher2_cloud_credential["id"],
"control_plane_role": True,
"etcd_role": True,
"worker_role": True,
"quantity": 1,
"machine_config": {
"kind": foo_rancher2_machine_config_v2["kind"],
"name": foo_rancher2_machine_config_v2["name"],
},
}],
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create a cluster with multiple machine pools
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2/k3s-version"),
EnableNetworkPolicy: pulumi.Bool(false),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
&rancher2.ClusterV2RkeConfigMachinePoolArgs{
Name: pulumi.String("pool1"),
CloudCredentialSecretName: pulumi.Any(fooRancher2CloudCredential.Id),
ControlPlaneRole: pulumi.Bool(true),
EtcdRole: pulumi.Bool(true),
WorkerRole: pulumi.Bool(false),
Quantity: pulumi.Int(1),
DrainBeforeDelete: pulumi.Bool(true),
MachineConfig: &rancher2.ClusterV2RkeConfigMachinePoolMachineConfigArgs{
Kind: pulumi.Any(fooRancher2MachineConfigV2.Kind),
Name: pulumi.Any(fooRancher2MachineConfigV2.Name),
},
},
&rancher2.ClusterV2RkeConfigMachinePoolArgs{
Name: pulumi.String("pool2"),
CloudCredentialSecretName: pulumi.Any(fooRancher2CloudCredential.Id),
ControlPlaneRole: pulumi.Bool(false),
EtcdRole: pulumi.Bool(false),
WorkerRole: pulumi.Bool(true),
Quantity: pulumi.Int(2),
DrainBeforeDelete: pulumi.Bool(true),
MachineConfig: &rancher2.ClusterV2RkeConfigMachinePoolMachineConfigArgs{
Kind: pulumi.Any(fooRancher2MachineConfigV2.Kind),
Name: pulumi.Any(fooRancher2MachineConfigV2.Name),
},
},
},
},
})
if err != nil {
return err
}
// Create a cluster with a single machine pool
_, err = rancher2.NewClusterV2(ctx, "foo-k3s", &rancher2.ClusterV2Args{
Name: pulumi.String("foo-k3s"),
KubernetesVersion: pulumi.String("rke2/k3s-version"),
EnableNetworkPolicy: pulumi.Bool(false),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
&rancher2.ClusterV2RkeConfigMachinePoolArgs{
Name: pulumi.String("pool"),
CloudCredentialSecretName: pulumi.Any(fooRancher2CloudCredential.Id),
ControlPlaneRole: pulumi.Bool(true),
EtcdRole: pulumi.Bool(true),
WorkerRole: pulumi.Bool(true),
Quantity: pulumi.Int(1),
MachineConfig: &rancher2.ClusterV2RkeConfigMachinePoolMachineConfigArgs{
Kind: pulumi.Any(fooRancher2MachineConfigV2.Kind),
Name: pulumi.Any(fooRancher2MachineConfigV2.Name),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
// Create a cluster with multiple machine pools
var foo = new Rancher2.ClusterV2("foo", new()
{
Name = "foo",
KubernetesVersion = "rke2/k3s-version",
EnableNetworkPolicy = false,
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachinePools = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolArgs
{
Name = "pool1",
CloudCredentialSecretName = fooRancher2CloudCredential.Id,
ControlPlaneRole = true,
EtcdRole = true,
WorkerRole = false,
Quantity = 1,
DrainBeforeDelete = true,
MachineConfig = new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolMachineConfigArgs
{
Kind = fooRancher2MachineConfigV2.Kind,
Name = fooRancher2MachineConfigV2.Name,
},
},
new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolArgs
{
Name = "pool2",
CloudCredentialSecretName = fooRancher2CloudCredential.Id,
ControlPlaneRole = false,
EtcdRole = false,
WorkerRole = true,
Quantity = 2,
DrainBeforeDelete = true,
MachineConfig = new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolMachineConfigArgs
{
Kind = fooRancher2MachineConfigV2.Kind,
Name = fooRancher2MachineConfigV2.Name,
},
},
},
},
});
// Create a cluster with a single machine pool
var foo_k3s = new Rancher2.ClusterV2("foo-k3s", new()
{
Name = "foo-k3s",
KubernetesVersion = "rke2/k3s-version",
EnableNetworkPolicy = false,
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachinePools = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolArgs
{
Name = "pool",
CloudCredentialSecretName = fooRancher2CloudCredential.Id,
ControlPlaneRole = true,
EtcdRole = true,
WorkerRole = true,
Quantity = 1,
MachineConfig = new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolMachineConfigArgs
{
Kind = fooRancher2MachineConfigV2.Kind,
Name = fooRancher2MachineConfigV2.Name,
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 cluster with multiple machine pools
var foo = new ClusterV2("foo", ClusterV2Args.builder()
.name("foo")
.kubernetesVersion("rke2/k3s-version")
.enableNetworkPolicy(false)
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machinePools(
ClusterV2RkeConfigMachinePoolArgs.builder()
.name("pool1")
.cloudCredentialSecretName(fooRancher2CloudCredential.id())
.controlPlaneRole(true)
.etcdRole(true)
.workerRole(false)
.quantity(1)
.drainBeforeDelete(true)
.machineConfig(ClusterV2RkeConfigMachinePoolMachineConfigArgs.builder()
.kind(fooRancher2MachineConfigV2.kind())
.name(fooRancher2MachineConfigV2.name())
.build())
.build(),
ClusterV2RkeConfigMachinePoolArgs.builder()
.name("pool2")
.cloudCredentialSecretName(fooRancher2CloudCredential.id())
.controlPlaneRole(false)
.etcdRole(false)
.workerRole(true)
.quantity(2)
.drainBeforeDelete(true)
.machineConfig(ClusterV2RkeConfigMachinePoolMachineConfigArgs.builder()
.kind(fooRancher2MachineConfigV2.kind())
.name(fooRancher2MachineConfigV2.name())
.build())
.build())
.build())
.build());
// Create a cluster with a single machine pool
var foo_k3s = new ClusterV2("foo-k3s", ClusterV2Args.builder()
.name("foo-k3s")
.kubernetesVersion("rke2/k3s-version")
.enableNetworkPolicy(false)
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
.name("pool")
.cloudCredentialSecretName(fooRancher2CloudCredential.id())
.controlPlaneRole(true)
.etcdRole(true)
.workerRole(true)
.quantity(1)
.machineConfig(ClusterV2RkeConfigMachinePoolMachineConfigArgs.builder()
.kind(fooRancher2MachineConfigV2.kind())
.name(fooRancher2MachineConfigV2.name())
.build())
.build())
.build())
.build());
}
}
resources:
# Create a cluster with multiple machine pools
foo:
type: rancher2:ClusterV2
properties:
name: foo
kubernetesVersion: rke2/k3s-version
enableNetworkPolicy: false
rkeConfig:
machinePools:
- name: pool1
cloudCredentialSecretName: ${fooRancher2CloudCredential.id}
controlPlaneRole: true
etcdRole: true
workerRole: false
quantity: 1
drainBeforeDelete: true
machineConfig:
kind: ${fooRancher2MachineConfigV2.kind}
name: ${fooRancher2MachineConfigV2.name}
- name: pool2
cloudCredentialSecretName: ${fooRancher2CloudCredential.id}
controlPlaneRole: false
etcdRole: false
workerRole: true
quantity: 2
drainBeforeDelete: true
machineConfig:
kind: ${fooRancher2MachineConfigV2.kind}
name: ${fooRancher2MachineConfigV2.name}
# Create a cluster with a single machine pool
foo-k3s:
type: rancher2:ClusterV2
properties:
name: foo-k3s
kubernetesVersion: rke2/k3s-version
enableNetworkPolicy: false
rkeConfig:
machinePools:
- name: pool
cloudCredentialSecretName: ${fooRancher2CloudCredential.id}
controlPlaneRole: true
etcdRole: true
workerRole: true
quantity: 1
machineConfig:
kind: ${fooRancher2MachineConfigV2.kind}
name: ${fooRancher2MachineConfigV2.name}
Create a node-driver cluster with Harvester as the infrastructure provider
Example coming soon!
Example coming soon!
Example coming soon!
Example coming soon!
Example coming soon!
resources:
# Create a new cloud credential for an imported Harvester cluster
foo-harvesterCloudCredential:
type: rancher2:CloudCredential
name: foo-harvester
properties:
name: foo-harvester
harvesterCredentialConfig:
clusterId: ${["foo-harvester"].clusterV1Id}
clusterType: imported
kubeconfigContent: ${["foo-harvester"].kubeConfig}
# Create a new rancher2 machine config v2 using harvester node_driver
foo-harvester-v2:
type: rancher2:MachineConfigV2
properties:
generateName: foo-harvester-v2
harvesterConfig:
vmNamespace: default
cpuCount: '2'
memorySize: '4'
diskInfo: |2
{
\"disks\": [{
\"imageName\": \"harvester-public/image-57hzg\",
\"size\": 40,
\"bootOrder\": 1
}]
}
networkInfo: |2
{
\"interfaces\": [{
\"networkName\": \"harvester-public/vlan1\"
}]
}
sshUser: ubuntu
userData: |2
package_update: true
packages:
- qemu-guest-agent
- iptables
runcmd:
- - systemctl
- enable
- '--now'
- qemu-guest-agent.service
# Create a new cluster
foo-harvester-v2ClusterV2:
type: rancher2:ClusterV2
name: foo-harvester-v2
properties:
name: foo-harvester-v2
kubernetesVersion: <rke2/k3s-version>
rkeConfig:
machinePools:
- name: pool1
cloudCredentialSecretName: ${["foo-harvesterCloudCredential"].id}
controlPlaneRole: true
etcdRole: true
workerRole: true
quantity: 1
machineConfig:
kind: ${["foo-harvester-v2"].kind}
name: ${["foo-harvester-v2"].name}
machineSelectorConfigs:
- config:
cloud-provider-name: ""
machineGlobalConfig: |
cni: \"calico\"
disable-kube-proxy: false
etcd-expose-metrics: false
upgradeStrategy:
controlPlaneConcurrency: 10%
workerConcurrency: 10%
etcd:
snapshotScheduleCron: 0 */5 * * *
snapshotRetention: 5
variables:
# Get imported harvester cluster info
foo-harvester:
fn::invoke:
function: rancher2:getClusterV2
arguments:
name: foo-harvester
Create a node-driver cluster with Harvester as both the infrastructure provider and cloud provider
The example below utilizes the arguments such as machine_selector_config, machine_global_config, and chart_values.
More explanations and examples for those arguments can be found on this page.
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
// Get imported harvester cluster info
const foo_harvester = rancher2.getClusterV2({
name: "foo-harvester",
});
import pulumi
import pulumi_rancher2 as rancher2
# Get imported harvester cluster info
foo_harvester = rancher2.get_cluster_v2(name="foo-harvester")
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Get imported harvester cluster info
_, err := rancher2.LookupClusterV2(ctx, &rancher2.LookupClusterV2Args{
Name: "foo-harvester",
}, nil)
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
// Get imported harvester cluster info
var foo_harvester = Rancher2.GetClusterV2.Invoke(new()
{
Name = "foo-harvester",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.Rancher2Functions;
import com.pulumi.rancher2.inputs.GetClusterV2Args;
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) {
// Get imported harvester cluster info
final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()
.name("foo-harvester")
.build());
}
}
variables:
# Get imported harvester cluster info
foo-harvester:
fn::invoke:
function: rancher2:getClusterV2
arguments:
name: foo-harvester
You need the kubeconfig file of the Harvester cluster to use it as the cloud provider for your cluster.
# Generate harvester cloud provider kubeconfig
RANCHER_SERVER_URL="<RANCHER_SERVER_URL>"
RANCHER_ACCESS_KEY="<RANCHER_ACCESS_KEY>"
RANCHER_SECRET_KEY="<RANCHER_SECRET_KEY>"
HARVESTER_CLUSTER_ID="<HARVESTER_CLUSTER_ID>"
CLUSTER_NAME="foo-harvester-v2-cloud-provider"
curl -k -X POST ${RANCHER_SERVER_URL}/k8s/clusters/${HARVESTER_CLUSTER_ID}/v1/harvester/kubeconfig \
-H 'Content-Type: application/json' \
-u ${RANCHER_ACCESS_KEY}:${RANCHER_SECRET_KEY} \
-d '{"clusterRoleName": "harvesterhci.io:cloudprovider", "namespace": "default", "serviceAccountName": "'${CLUSTER_NAME}'"}' | xargs | sed 's/\\n/\n/g' > ${CLUSTER_NAME}-kubeconfig
Customize the agent environment variables
The example below demonstrates how to set agent environment variables on a cluster.
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
name: "cluster-with-agent-env-vars",
kubernetesVersion: "rke2/k3s-version",
agentEnvVars: [
{
name: "foo1",
value: "boo1",
},
{
name: "foo2",
value: "boo2",
},
],
rkeConfig: {},
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
name="cluster-with-agent-env-vars",
kubernetes_version="rke2/k3s-version",
agent_env_vars=[
{
"name": "foo1",
"value": "boo1",
},
{
"name": "foo2",
"value": "boo2",
},
],
rke_config={})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
Name: pulumi.String("cluster-with-agent-env-vars"),
KubernetesVersion: pulumi.String("rke2/k3s-version"),
AgentEnvVars: rancher2.ClusterV2AgentEnvVarArray{
&rancher2.ClusterV2AgentEnvVarArgs{
Name: pulumi.String("foo1"),
Value: pulumi.String("boo1"),
},
&rancher2.ClusterV2AgentEnvVarArgs{
Name: pulumi.String("foo2"),
Value: pulumi.String("boo2"),
},
},
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
Name = "cluster-with-agent-env-vars",
KubernetesVersion = "rke2/k3s-version",
AgentEnvVars = new[]
{
new Rancher2.Inputs.ClusterV2AgentEnvVarArgs
{
Name = "foo1",
Value = "boo1",
},
new Rancher2.Inputs.ClusterV2AgentEnvVarArgs
{
Name = "foo2",
Value = "boo2",
},
},
RkeConfig = null,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2AgentEnvVarArgs;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.name("cluster-with-agent-env-vars")
.kubernetesVersion("rke2/k3s-version")
.agentEnvVars(
ClusterV2AgentEnvVarArgs.builder()
.name("foo1")
.value("boo1")
.build(),
ClusterV2AgentEnvVarArgs.builder()
.name("foo2")
.value("boo2")
.build())
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.build())
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
name: cluster-with-agent-env-vars
kubernetesVersion: rke2/k3s-version
agentEnvVars:
- name: foo1
value: boo1
- name: foo2
value: boo2
rkeConfig: {}
Customize the cluster agent and the fleet agent
This argument is available in Rancher v2.7.5 and above.
You can configure the tolerations, affinity rules, and resource requirements for the cattle-cluster-agent and fleet-agent deployments.
The example below demonstrates how to set cluster_agent_deployment_customization and fleet_agent_deployment_customization:
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
fleetAgentDeploymentCustomizations: [{}],
name: "foo",
kubernetesVersion: "rke2/k3s-version",
clusterAgentDeploymentCustomizations: [{
appendTolerations: [
{
key: "tolerate/control-plane",
effect: "NoSchedule",
value: "true",
},
{
key: "tolerate/etcd",
effect: "NoSchedule",
value: "true",
},
],
overrideAffinity: `{
\\"nodeAffinity\\": {
\\"requiredDuringSchedulingIgnoredDuringExecution\\": {
\\"nodeSelectorTerms\\": [{
\\"matchExpressions\\": [{
\\"key\\": \\"not.this/nodepool\\",
\\"operator\\": \\"In\\",
\\"values\\": [
\\"true\\"
]
}]
}]
}
}
}
`,
overrideResourceRequirements: [{
cpuLimit: "800m",
cpuRequest: "500m",
memoryLimit: "800Mi",
memoryRequest: "500Mi",
}],
}],
rkeConfig: {
machinePools: [{}],
},
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
fleet_agent_deployment_customizations=[{}],
name="foo",
kubernetes_version="rke2/k3s-version",
cluster_agent_deployment_customizations=[{
"append_tolerations": [
{
"key": "tolerate/control-plane",
"effect": "NoSchedule",
"value": "true",
},
{
"key": "tolerate/etcd",
"effect": "NoSchedule",
"value": "true",
},
],
"override_affinity": """{
\"nodeAffinity\": {
\"requiredDuringSchedulingIgnoredDuringExecution\": {
\"nodeSelectorTerms\": [{
\"matchExpressions\": [{
\"key\": \"not.this/nodepool\",
\"operator\": \"In\",
\"values\": [
\"true\"
]
}]
}]
}
}
}
""",
"override_resource_requirements": [{
"cpu_limit": "800m",
"cpu_request": "500m",
"memory_limit": "800Mi",
"memory_request": "500Mi",
}],
}],
rke_config={
"machine_pools": [{}],
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
FleetAgentDeploymentCustomizations: rancher2.ClusterV2FleetAgentDeploymentCustomizationArray{
&rancher2.ClusterV2FleetAgentDeploymentCustomizationArgs{},
},
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2/k3s-version"),
ClusterAgentDeploymentCustomizations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationArgs{
AppendTolerations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs{
Key: pulumi.String("tolerate/control-plane"),
Effect: pulumi.String("NoSchedule"),
Value: pulumi.String("true"),
},
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs{
Key: pulumi.String("tolerate/etcd"),
Effect: pulumi.String("NoSchedule"),
Value: pulumi.String("true"),
},
},
OverrideAffinity: pulumi.String(`{
\"nodeAffinity\": {
\"requiredDuringSchedulingIgnoredDuringExecution\": {
\"nodeSelectorTerms\": [{
\"matchExpressions\": [{
\"key\": \"not.this/nodepool\",
\"operator\": \"In\",
\"values\": [
\"true\"
]
}]
}]
}
}
}
`),
OverrideResourceRequirements: rancher2.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs{
CpuLimit: pulumi.String("800m"),
CpuRequest: pulumi.String("500m"),
MemoryLimit: pulumi.String("800Mi"),
MemoryRequest: pulumi.String("500Mi"),
},
},
},
},
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
FleetAgentDeploymentCustomizations = new[]
{
null,
},
Name = "foo",
KubernetesVersion = "rke2/k3s-version",
ClusterAgentDeploymentCustomizations = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationArgs
{
AppendTolerations = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs
{
Key = "tolerate/control-plane",
Effect = "NoSchedule",
Value = "true",
},
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs
{
Key = "tolerate/etcd",
Effect = "NoSchedule",
Value = "true",
},
},
OverrideAffinity = @"{
\""nodeAffinity\"": {
\""requiredDuringSchedulingIgnoredDuringExecution\"": {
\""nodeSelectorTerms\"": [{
\""matchExpressions\"": [{
\""key\"": \""not.this/nodepool\"",
\""operator\"": \""In\"",
\""values\"": [
\""true\""
]
}]
}]
}
}
}
",
OverrideResourceRequirements = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs
{
CpuLimit = "800m",
CpuRequest = "500m",
MemoryLimit = "800Mi",
MemoryRequest = "500Mi",
},
},
},
},
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachinePools = new[]
{
null,
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2FleetAgentDeploymentCustomizationArgs;
import com.pulumi.rancher2.inputs.ClusterV2ClusterAgentDeploymentCustomizationArgs;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.fleetAgentDeploymentCustomizations(ClusterV2FleetAgentDeploymentCustomizationArgs.builder()
.build())
.name("foo")
.kubernetesVersion("rke2/k3s-version")
.clusterAgentDeploymentCustomizations(ClusterV2ClusterAgentDeploymentCustomizationArgs.builder()
.appendTolerations(
ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs.builder()
.key("tolerate/control-plane")
.effect("NoSchedule")
.value("true")
.build(),
ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs.builder()
.key("tolerate/etcd")
.effect("NoSchedule")
.value("true")
.build())
.overrideAffinity("""
{
\"nodeAffinity\": {
\"requiredDuringSchedulingIgnoredDuringExecution\": {
\"nodeSelectorTerms\": [{
\"matchExpressions\": [{
\"key\": \"not.this/nodepool\",
\"operator\": \"In\",
\"values\": [
\"true\"
]
}]
}]
}
}
}
""")
.overrideResourceRequirements(ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs.builder()
.cpuLimit("800m")
.cpuRequest("500m")
.memoryLimit("800Mi")
.memoryRequest("500Mi")
.build())
.build())
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
.build())
.build())
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
fleetAgentDeploymentCustomizations:
- {}
name: foo
kubernetesVersion: rke2/k3s-version
clusterAgentDeploymentCustomizations:
- appendTolerations:
- key: tolerate/control-plane
effect: NoSchedule
value: 'true'
- key: tolerate/etcd
effect: NoSchedule
value: 'true'
overrideAffinity: |
{
\"nodeAffinity\": {
\"requiredDuringSchedulingIgnoredDuringExecution\": {
\"nodeSelectorTerms\": [{
\"matchExpressions\": [{
\"key\": \"not.this/nodepool\",
\"operator\": \"In\",
\"values\": [
\"true\"
]
}]
}]
}
}
}
overrideResourceRequirements:
- cpuLimit: 800m
cpuRequest: 500m
memoryLimit: 800Mi
memoryRequest: 500Mi
rkeConfig:
machinePools:
- {}
Customize scheduling for the cluster agent
This argument is available in Rancher 2.11.0 and above.
You can configure a Priority Class and or Pod Disruption Budget to be automatically deployed for the cattle cluster agent when provisioning or updating downstream clusters.
In order to use this field, you must ensure that the cluster-agent-scheduling-customization feature is enabled in the Rancher server.
The example below demonstrates how to set the scheduling_customization field to deploy a Priority Class and Pod Disruption Budget. Currently, this field is only supported for the cluster agent.
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
name: "foo",
kubernetesVersion: "rke2/k3s-version",
clusterAgentDeploymentCustomizations: [{
schedulingCustomizations: [{
priorityClasses: [{
preemptionPolicy: "PreemptLowerPriority",
value: 1000000000,
}],
podDisruptionBudgets: [{
minAvailable: "1",
}],
}],
}],
rkeConfig: {
machinePools: [{}],
},
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
name="foo",
kubernetes_version="rke2/k3s-version",
cluster_agent_deployment_customizations=[{
"scheduling_customizations": [{
"priority_classes": [{
"preemption_policy": "PreemptLowerPriority",
"value": 1000000000,
}],
"pod_disruption_budgets": [{
"min_available": "1",
}],
}],
}],
rke_config={
"machine_pools": [{}],
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2/k3s-version"),
ClusterAgentDeploymentCustomizations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationArgs{
SchedulingCustomizations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs{
PriorityClasses: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs{
PreemptionPolicy: pulumi.String("PreemptLowerPriority"),
Value: pulumi.Int(1000000000),
},
},
PodDisruptionBudgets: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs{
MinAvailable: pulumi.String("1"),
},
},
},
},
},
},
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
Name = "foo",
KubernetesVersion = "rke2/k3s-version",
ClusterAgentDeploymentCustomizations = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationArgs
{
SchedulingCustomizations = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs
{
PriorityClasses = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs
{
PreemptionPolicy = "PreemptLowerPriority",
Value = 1000000000,
},
},
PodDisruptionBudgets = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs
{
MinAvailable = "1",
},
},
},
},
},
},
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachinePools = new[]
{
null,
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2ClusterAgentDeploymentCustomizationArgs;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.name("foo")
.kubernetesVersion("rke2/k3s-version")
.clusterAgentDeploymentCustomizations(ClusterV2ClusterAgentDeploymentCustomizationArgs.builder()
.schedulingCustomizations(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs.builder()
.priorityClasses(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs.builder()
.preemptionPolicy("PreemptLowerPriority")
.value(1000000000)
.build())
.podDisruptionBudgets(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs.builder()
.minAvailable("1")
.build())
.build())
.build())
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
.build())
.build())
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
name: foo
kubernetesVersion: rke2/k3s-version
clusterAgentDeploymentCustomizations:
- schedulingCustomizations:
- priorityClasses:
- preemptionPolicy: PreemptLowerPriority
value: 1e+09
podDisruptionBudgets:
- minAvailable: '1'
rkeConfig:
machinePools:
- {}
Create a cluster that uses a cluster-level authenticated system-default-registry
The <auth-config-secret-name> represents a generic Kubernetes secret that contains two keys with base64 encoded values: the username and password for the specified custom registry. If the system-default-registry is not authenticated, no secret is required and the section within the rke_config can be omitted if not otherwise needed. While the below example shows how to create a registry secret, storing plain text credentials in terraform files is never a good idea. Significant care should be taken to ensure that the username and password values are not committed or otherwise leaked.
Many registries may be specified in the rke_configs registries section, however, the system-default-registry from which core system images are pulled is always denoted via the system-default-registry key of the machine_selector_config or the machine_global_config. For more information on private registries, please refer to the Rancher documentation.
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const fooClusterV2 = new rancher2.ClusterV2("foo_cluster_v2", {
name: "cluster-with-custom-registry",
kubernetesVersion: "rke2/k3s-version",
rkeConfig: {
machinePools: [{}],
machineSelectorConfigs: [{
config: "system-default-registry: registry_domain_name",
}],
registries: {
configs: [{
hostname: "registry_domain_name",
authConfigSecretName: registrySecretName,
insecure: "<tls-insecure-bool>",
tlsSecretName: "",
caBundle: "",
}],
},
},
});
// create registry auth secret
const myRegistry = new rancher2.SecretV2("my_registry", {
clusterId: "local",
name: registrySecretName,
namespace: "fleet-default",
type: "kubernetes.io/basic-auth",
data: {
username: registryUsername,
password: registryPassword,
},
});
import pulumi
import pulumi_rancher2 as rancher2
foo_cluster_v2 = rancher2.ClusterV2("foo_cluster_v2",
name="cluster-with-custom-registry",
kubernetes_version="rke2/k3s-version",
rke_config={
"machine_pools": [{}],
"machine_selector_configs": [{
"config": "system-default-registry: registry_domain_name",
}],
"registries": {
"configs": [{
"hostname": "registry_domain_name",
"auth_config_secret_name": registry_secret_name,
"insecure": "<tls-insecure-bool>",
"tls_secret_name": "",
"ca_bundle": "",
}],
},
})
# create registry auth secret
my_registry = rancher2.SecretV2("my_registry",
cluster_id="local",
name=registry_secret_name,
namespace="fleet-default",
type="kubernetes.io/basic-auth",
data={
"username": registry_username,
"password": registry_password,
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo_cluster_v2", &rancher2.ClusterV2Args{
Name: pulumi.String("cluster-with-custom-registry"),
KubernetesVersion: pulumi.String("rke2/k3s-version"),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
},
MachineSelectorConfigs: rancher2.ClusterV2RkeConfigMachineSelectorConfigArray{
&rancher2.ClusterV2RkeConfigMachineSelectorConfigArgs{
Config: pulumi.String("system-default-registry: registry_domain_name"),
},
},
Registries: &rancher2.ClusterV2RkeConfigRegistriesArgs{
Configs: rancher2.ClusterV2RkeConfigRegistriesConfigArray{
&rancher2.ClusterV2RkeConfigRegistriesConfigArgs{
Hostname: pulumi.String("registry_domain_name"),
AuthConfigSecretName: pulumi.Any(registrySecretName),
Insecure: pulumi.Bool("<tls-insecure-bool>"),
TlsSecretName: pulumi.String(""),
CaBundle: pulumi.String(""),
},
},
},
},
})
if err != nil {
return err
}
// create registry auth secret
_, err = rancher2.NewSecretV2(ctx, "my_registry", &rancher2.SecretV2Args{
ClusterId: pulumi.String("local"),
Name: pulumi.Any(registrySecretName),
Namespace: pulumi.String("fleet-default"),
Type: pulumi.String("kubernetes.io/basic-auth"),
Data: pulumi.StringMap{
"username": pulumi.Any(registryUsername),
"password": pulumi.Any(registryPassword),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var fooClusterV2 = new Rancher2.ClusterV2("foo_cluster_v2", new()
{
Name = "cluster-with-custom-registry",
KubernetesVersion = "rke2/k3s-version",
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachinePools = new[]
{
null,
},
MachineSelectorConfigs = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigArgs
{
Config = "system-default-registry: registry_domain_name",
},
},
Registries = new Rancher2.Inputs.ClusterV2RkeConfigRegistriesArgs
{
Configs = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigRegistriesConfigArgs
{
Hostname = "registry_domain_name",
AuthConfigSecretName = registrySecretName,
Insecure = "<tls-insecure-bool>",
TlsSecretName = "",
CaBundle = "",
},
},
},
},
});
// create registry auth secret
var myRegistry = new Rancher2.SecretV2("my_registry", new()
{
ClusterId = "local",
Name = registrySecretName,
Namespace = "fleet-default",
Type = "kubernetes.io/basic-auth",
Data =
{
{ "username", registryUsername },
{ "password", registryPassword },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigRegistriesArgs;
import com.pulumi.rancher2.SecretV2;
import com.pulumi.rancher2.SecretV2Args;
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 fooClusterV2 = new ClusterV2("fooClusterV2", ClusterV2Args.builder()
.name("cluster-with-custom-registry")
.kubernetesVersion("rke2/k3s-version")
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
.build())
.machineSelectorConfigs(ClusterV2RkeConfigMachineSelectorConfigArgs.builder()
.config("system-default-registry: registry_domain_name")
.build())
.registries(ClusterV2RkeConfigRegistriesArgs.builder()
.configs(ClusterV2RkeConfigRegistriesConfigArgs.builder()
.hostname("registry_domain_name")
.authConfigSecretName(registrySecretName)
.insecure("<tls-insecure-bool>")
.tlsSecretName("")
.caBundle("")
.build())
.build())
.build())
.build());
// create registry auth secret
var myRegistry = new SecretV2("myRegistry", SecretV2Args.builder()
.clusterId("local")
.name(registrySecretName)
.namespace("fleet-default")
.type("kubernetes.io/basic-auth")
.data(Map.ofEntries(
Map.entry("username", registryUsername),
Map.entry("password", registryPassword)
))
.build());
}
}
resources:
fooClusterV2:
type: rancher2:ClusterV2
name: foo_cluster_v2
properties:
name: cluster-with-custom-registry
kubernetesVersion: rke2/k3s-version
rkeConfig:
machinePools:
- {}
machineSelectorConfigs:
- config: 'system-default-registry: registry_domain_name'
registries:
configs:
- hostname: registry_domain_name
authConfigSecretName: ${registrySecretName}
insecure: <tls-insecure-bool>
tlsSecretName: ""
caBundle: ""
# create registry auth secret
myRegistry:
type: rancher2:SecretV2
name: my_registry
properties:
clusterId: local
name: ${registrySecretName}
namespace: fleet-default
type: kubernetes.io/basic-auth
data:
username: ${registryUsername}
password: ${registryPassword}
Creating Rancher V2 Cluster with Machine Selector Files
This argument is available in Rancher v2.7.2 and above.
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
name: "foo",
kubernetesVersion: "rke2/k3s-version",
enableNetworkPolicy: false,
rkeConfig: {
machinePools: [{}],
machineSelectorFiles: [{
machineLabelSelector: {
matchLabels: {
"rke.cattle.io/control-plane-role": "true",
"rke.cattle.io/etcd-role": "true",
},
matchExpressions: [
{
key: "name",
values: [
"a",
"b",
],
operator: "In",
},
{
key: "department",
operator: "In",
values: [
"a",
"b",
],
},
],
},
fileSources: [{
secret: {
name: "config-file-v1",
defaultPermissions: "644",
items: [{
key: "audit-policy",
path: "/etc/rancher/rke2/custom/policy-v1.yaml",
permissions: "666",
}],
},
}],
}],
},
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
name="foo",
kubernetes_version="rke2/k3s-version",
enable_network_policy=False,
rke_config={
"machine_pools": [{}],
"machine_selector_files": [{
"machine_label_selector": {
"match_labels": {
"rke.cattle.io/control-plane-role": "true",
"rke.cattle.io/etcd-role": "true",
},
"match_expressions": [
{
"key": "name",
"values": [
"a",
"b",
],
"operator": "In",
},
{
"key": "department",
"operator": "In",
"values": [
"a",
"b",
],
},
],
},
"file_sources": [{
"secret": {
"name": "config-file-v1",
"default_permissions": "644",
"items": [{
"key": "audit-policy",
"path": "/etc/rancher/rke2/custom/policy-v1.yaml",
"permissions": "666",
}],
},
}],
}],
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2/k3s-version"),
EnableNetworkPolicy: pulumi.Bool(false),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
},
MachineSelectorFiles: rancher2.ClusterV2RkeConfigMachineSelectorFileArray{
&rancher2.ClusterV2RkeConfigMachineSelectorFileArgs{
MachineLabelSelector: &rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs{
MatchLabels: pulumi.StringMap{
"rke.cattle.io/control-plane-role": pulumi.String("true"),
"rke.cattle.io/etcd-role": pulumi.String("true"),
},
MatchExpressions: rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArray{
&rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs{
Key: pulumi.String("name"),
Values: pulumi.StringArray{
pulumi.String("a"),
pulumi.String("b"),
},
Operator: pulumi.String("In"),
},
&rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs{
Key: pulumi.String("department"),
Operator: pulumi.String("In"),
Values: pulumi.StringArray{
pulumi.String("a"),
pulumi.String("b"),
},
},
},
},
FileSources: rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceArray{
&rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceArgs{
Secret: &rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs{
Name: pulumi.String("config-file-v1"),
DefaultPermissions: pulumi.String("644"),
Items: rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArray{
&rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs{
Key: pulumi.String("audit-policy"),
Path: pulumi.String("/etc/rancher/rke2/custom/policy-v1.yaml"),
Permissions: pulumi.String("666"),
},
},
},
},
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
Name = "foo",
KubernetesVersion = "rke2/k3s-version",
EnableNetworkPolicy = false,
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachinePools = new[]
{
null,
},
MachineSelectorFiles = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileArgs
{
MachineLabelSelector = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs
{
MatchLabels =
{
{ "rke.cattle.io/control-plane-role", "true" },
{ "rke.cattle.io/etcd-role", "true" },
},
MatchExpressions = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs
{
Key = "name",
Values = new[]
{
"a",
"b",
},
Operator = "In",
},
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs
{
Key = "department",
Operator = "In",
Values = new[]
{
"a",
"b",
},
},
},
},
FileSources = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceArgs
{
Secret = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs
{
Name = "config-file-v1",
DefaultPermissions = "644",
Items = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs
{
Key = "audit-policy",
Path = "/etc/rancher/rke2/custom/policy-v1.yaml",
Permissions = "666",
},
},
},
},
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.name("foo")
.kubernetesVersion("rke2/k3s-version")
.enableNetworkPolicy(false)
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
.build())
.machineSelectorFiles(ClusterV2RkeConfigMachineSelectorFileArgs.builder()
.machineLabelSelector(ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs.builder()
.matchLabels(Map.ofEntries(
Map.entry("rke.cattle.io/control-plane-role", "true"),
Map.entry("rke.cattle.io/etcd-role", "true")
))
.matchExpressions(
ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs.builder()
.key("name")
.values(
"a",
"b")
.operator("In")
.build(),
ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs.builder()
.key("department")
.operator("In")
.values(
"a",
"b")
.build())
.build())
.fileSources(ClusterV2RkeConfigMachineSelectorFileFileSourceArgs.builder()
.secret(ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs.builder()
.name("config-file-v1")
.defaultPermissions("644")
.items(ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs.builder()
.key("audit-policy")
.path("/etc/rancher/rke2/custom/policy-v1.yaml")
.permissions("666")
.build())
.build())
.build())
.build())
.build())
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
name: foo
kubernetesVersion: rke2/k3s-version
enableNetworkPolicy: false
rkeConfig:
machinePools:
- {}
machineSelectorFiles:
- machineLabelSelector:
matchLabels:
rke.cattle.io/control-plane-role: 'true'
rke.cattle.io/etcd-role: 'true'
matchExpressions:
- key: name
values:
- a
- b
operator: In
- key: department
operator: In
values:
- a
- b
fileSources:
- secret:
name: config-file-v1
defaultPermissions: '644'
items:
- key: audit-policy
path: /etc/rancher/rke2/custom/policy-v1.yaml
permissions: '666'
Create a cluster with machine global config or machine selector config
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
name: "foo",
kubernetesVersion: "rke2-version",
enableNetworkPolicy: false,
rkeConfig: {
machinePools: [{}],
machineSelectorConfigs: [
{
machineLabelSelector: {
matchLabels: {
"rke.cattle.io/control-plane-role": "true",
"rke.cattle.io/etcd-role": "true",
},
matchExpressions: [
{
key: "name",
values: [
"a",
"b",
],
operator: "In",
},
{
key: "department",
operator: "In",
values: [
"a",
"b",
],
},
],
},
config: ` kubelet-arg:
- cloud-provider-name=external
`,
},
{
config: ` kube-proxy-arg:
- log_file_max_size=1800
`,
},
],
machineGlobalConfig: `disable-kube-proxy: false
etcd-expose-metrics: false
kubelet-arg:
- xxx=xxx
kube-proxy-arg:
- xxx=xxx
kube-apiserver-arg:
- xxx=xxx
kube-scheduler-arg:
- xxx=xxx
kube-cloud-controller-manager-arg:
- xxx=xxx
`,
},
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
name="foo",
kubernetes_version="rke2-version",
enable_network_policy=False,
rke_config={
"machine_pools": [{}],
"machine_selector_configs": [
{
"machine_label_selector": {
"match_labels": {
"rke.cattle.io/control-plane-role": "true",
"rke.cattle.io/etcd-role": "true",
},
"match_expressions": [
{
"key": "name",
"values": [
"a",
"b",
],
"operator": "In",
},
{
"key": "department",
"operator": "In",
"values": [
"a",
"b",
],
},
],
},
"config": """ kubelet-arg:
- cloud-provider-name=external
""",
},
{
"config": """ kube-proxy-arg:
- log_file_max_size=1800
""",
},
],
"machine_global_config": """disable-kube-proxy: false
etcd-expose-metrics: false
kubelet-arg:
- xxx=xxx
kube-proxy-arg:
- xxx=xxx
kube-apiserver-arg:
- xxx=xxx
kube-scheduler-arg:
- xxx=xxx
kube-cloud-controller-manager-arg:
- xxx=xxx
""",
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2-version"),
EnableNetworkPolicy: pulumi.Bool(false),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
},
MachineSelectorConfigs: rancher2.ClusterV2RkeConfigMachineSelectorConfigArray{
&rancher2.ClusterV2RkeConfigMachineSelectorConfigArgs{
MachineLabelSelector: &rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs{
MatchLabels: pulumi.StringMap{
"rke.cattle.io/control-plane-role": pulumi.String("true"),
"rke.cattle.io/etcd-role": pulumi.String("true"),
},
MatchExpressions: rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArray{
&rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs{
Key: pulumi.String("name"),
Values: pulumi.StringArray{
pulumi.String("a"),
pulumi.String("b"),
},
Operator: pulumi.String("In"),
},
&rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs{
Key: pulumi.String("department"),
Operator: pulumi.String("In"),
Values: pulumi.StringArray{
pulumi.String("a"),
pulumi.String("b"),
},
},
},
},
Config: pulumi.String(" kubelet-arg:\n - cloud-provider-name=external\n"),
},
&rancher2.ClusterV2RkeConfigMachineSelectorConfigArgs{
Config: pulumi.String(" kube-proxy-arg:\n - log_file_max_size=1800\n"),
},
},
MachineGlobalConfig: pulumi.String(`disable-kube-proxy: false
etcd-expose-metrics: false
kubelet-arg:
- xxx=xxx
kube-proxy-arg:
- xxx=xxx
kube-apiserver-arg:
- xxx=xxx
kube-scheduler-arg:
- xxx=xxx
kube-cloud-controller-manager-arg:
- xxx=xxx
`),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
Name = "foo",
KubernetesVersion = "rke2-version",
EnableNetworkPolicy = false,
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachinePools = new[]
{
null,
},
MachineSelectorConfigs = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigArgs
{
MachineLabelSelector = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs
{
MatchLabels =
{
{ "rke.cattle.io/control-plane-role", "true" },
{ "rke.cattle.io/etcd-role", "true" },
},
MatchExpressions = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs
{
Key = "name",
Values = new[]
{
"a",
"b",
},
Operator = "In",
},
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs
{
Key = "department",
Operator = "In",
Values = new[]
{
"a",
"b",
},
},
},
},
Config = @" kubelet-arg:
- cloud-provider-name=external
",
},
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigArgs
{
Config = @" kube-proxy-arg:
- log_file_max_size=1800
",
},
},
MachineGlobalConfig = @"disable-kube-proxy: false
etcd-expose-metrics: false
kubelet-arg:
- xxx=xxx
kube-proxy-arg:
- xxx=xxx
kube-apiserver-arg:
- xxx=xxx
kube-scheduler-arg:
- xxx=xxx
kube-cloud-controller-manager-arg:
- xxx=xxx
",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.name("foo")
.kubernetesVersion("rke2-version")
.enableNetworkPolicy(false)
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
.build())
.machineSelectorConfigs(
ClusterV2RkeConfigMachineSelectorConfigArgs.builder()
.machineLabelSelector(ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs.builder()
.matchLabels(Map.ofEntries(
Map.entry("rke.cattle.io/control-plane-role", "true"),
Map.entry("rke.cattle.io/etcd-role", "true")
))
.matchExpressions(
ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs.builder()
.key("name")
.values(
"a",
"b")
.operator("In")
.build(),
ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs.builder()
.key("department")
.operator("In")
.values(
"a",
"b")
.build())
.build())
.config("""
kubelet-arg:
- cloud-provider-name=external
""")
.build(),
ClusterV2RkeConfigMachineSelectorConfigArgs.builder()
.config("""
kube-proxy-arg:
- log_file_max_size=1800
""")
.build())
.machineGlobalConfig("""
disable-kube-proxy: false
etcd-expose-metrics: false
kubelet-arg:
- xxx=xxx
kube-proxy-arg:
- xxx=xxx
kube-apiserver-arg:
- xxx=xxx
kube-scheduler-arg:
- xxx=xxx
kube-cloud-controller-manager-arg:
- xxx=xxx
""")
.build())
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
name: foo
kubernetesVersion: rke2-version
enableNetworkPolicy: false
rkeConfig:
machinePools:
- {}
machineSelectorConfigs:
- machineLabelSelector:
matchLabels:
rke.cattle.io/control-plane-role: 'true'
rke.cattle.io/etcd-role: 'true'
matchExpressions:
- key: name
values:
- a
- b
operator: In
- key: department
operator: In
values:
- a
- b
config: |2
kubelet-arg:
- cloud-provider-name=external
- config: |2
kube-proxy-arg:
- log_file_max_size=1800
machineGlobalConfig: |
disable-kube-proxy: false
etcd-expose-metrics: false
kubelet-arg:
- xxx=xxx
kube-proxy-arg:
- xxx=xxx
kube-apiserver-arg:
- xxx=xxx
kube-scheduler-arg:
- xxx=xxx
kube-cloud-controller-manager-arg:
- xxx=xxx
Create a cluster with additional manifest
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
name: "foo",
kubernetesVersion: "rke2/k3s-version",
rkeConfig: {
machinePools: [{}],
additionalManifest: `apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-1
---
apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-2
`,
},
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
name="foo",
kubernetes_version="rke2/k3s-version",
rke_config={
"machine_pools": [{}],
"additional_manifest": """apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-1
---
apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-2
""",
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2/k3s-version"),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
},
AdditionalManifest: pulumi.String(`apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-1
---
apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-2
`),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
Name = "foo",
KubernetesVersion = "rke2/k3s-version",
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachinePools = new[]
{
null,
},
AdditionalManifest = @"apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-1
---
apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-2
",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.name("foo")
.kubernetesVersion("rke2/k3s-version")
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
.build())
.additionalManifest("""
apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-1
---
apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-2
""")
.build())
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
name: foo
kubernetesVersion: rke2/k3s-version
rkeConfig:
machinePools:
- {}
additionalManifest: |
apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-1
---
apiVersion: v1
kind: Namespace
metadata:
name: testing-namespace-2
Customize the ETCD snapshot feature on the cluster
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const credentials = new rancher2.CloudCredential("credentials", {
name: "rancher-creds",
s3CredentialConfig: {
accessKey: "<ACCESS_KEY>",
secretKey: "<SECRET_KEY>",
},
});
const foo = new rancher2.ClusterV2("foo", {
machinePools: [{}],
name: "foo",
kubernetesVersion: "rke2/k3s-version",
rkeConfig: {
etcd: {
snapshotScheduleCron: "0 */12 * * *",
snapshotRetention: 10,
s3Config: {
bucket: "backups",
endpoint: "https://minio.host:9000",
cloudCredentialName: credentials.id,
},
},
},
});
import pulumi
import pulumi_rancher2 as rancher2
credentials = rancher2.CloudCredential("credentials",
name="rancher-creds",
s3_credential_config={
"access_key": "<ACCESS_KEY>",
"secret_key": "<SECRET_KEY>",
})
foo = rancher2.ClusterV2("foo",
machine_pools=[{}],
name="foo",
kubernetes_version="rke2/k3s-version",
rke_config={
"etcd": {
"snapshot_schedule_cron": "0 */12 * * *",
"snapshot_retention": 10,
"s3_config": {
"bucket": "backups",
"endpoint": "https://minio.host:9000",
"cloud_credential_name": credentials.id,
},
},
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
credentials, err := rancher2.NewCloudCredential(ctx, "credentials", &rancher2.CloudCredentialArgs{
Name: pulumi.String("rancher-creds"),
S3CredentialConfig: &rancher2.CloudCredentialS3CredentialConfigArgs{
AccessKey: pulumi.String("<ACCESS_KEY>"),
SecretKey: pulumi.String("<SECRET_KEY>"),
},
})
if err != nil {
return err
}
_, err = rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
MachinePools: []map[string]interface{}{
map[string]interface{}{},
},
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2/k3s-version"),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
Etcd: &rancher2.ClusterV2RkeConfigEtcdArgs{
SnapshotScheduleCron: pulumi.String("0 */12 * * *"),
SnapshotRetention: pulumi.Int(10),
S3Config: &rancher2.ClusterV2RkeConfigEtcdS3ConfigArgs{
Bucket: pulumi.String("backups"),
Endpoint: pulumi.String("https://minio.host:9000"),
CloudCredentialName: credentials.ID(),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var credentials = new Rancher2.CloudCredential("credentials", new()
{
Name = "rancher-creds",
S3CredentialConfig = new Rancher2.Inputs.CloudCredentialS3CredentialConfigArgs
{
AccessKey = "<ACCESS_KEY>",
SecretKey = "<SECRET_KEY>",
},
});
var foo = new Rancher2.ClusterV2("foo", new()
{
MachinePools = new[]
{
null,
},
Name = "foo",
KubernetesVersion = "rke2/k3s-version",
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
Etcd = new Rancher2.Inputs.ClusterV2RkeConfigEtcdArgs
{
SnapshotScheduleCron = "0 */12 * * *",
SnapshotRetention = 10,
S3Config = new Rancher2.Inputs.ClusterV2RkeConfigEtcdS3ConfigArgs
{
Bucket = "backups",
Endpoint = "https://minio.host:9000",
CloudCredentialName = credentials.Id,
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.CloudCredential;
import com.pulumi.rancher2.CloudCredentialArgs;
import com.pulumi.rancher2.inputs.CloudCredentialS3CredentialConfigArgs;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigEtcdArgs;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigEtcdS3ConfigArgs;
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 credentials = new CloudCredential("credentials", CloudCredentialArgs.builder()
.name("rancher-creds")
.s3CredentialConfig(CloudCredentialS3CredentialConfigArgs.builder()
.accessKey("<ACCESS_KEY>")
.secretKey("<SECRET_KEY>")
.build())
.build());
var foo = new ClusterV2("foo", ClusterV2Args.builder()
.machinePools(List.of(Map.ofEntries(
)))
.name("foo")
.kubernetesVersion("rke2/k3s-version")
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.etcd(ClusterV2RkeConfigEtcdArgs.builder()
.snapshotScheduleCron("0 */12 * * *")
.snapshotRetention(10)
.s3Config(ClusterV2RkeConfigEtcdS3ConfigArgs.builder()
.bucket("backups")
.endpoint("https://minio.host:9000")
.cloudCredentialName(credentials.id())
.build())
.build())
.build())
.build());
}
}
resources:
credentials:
type: rancher2:CloudCredential
properties:
name: rancher-creds
s3CredentialConfig:
accessKey: <ACCESS_KEY>
secretKey: <SECRET_KEY>
foo:
type: rancher2:ClusterV2
properties:
machinePools:
- {}
name: foo
kubernetesVersion: rke2/k3s-version
rkeConfig:
etcd:
snapshotScheduleCron: 0 */12 * * *
snapshotRetention: 10
s3Config:
bucket: backups
endpoint: https://minio.host:9000
cloudCredentialName: ${credentials.id}
Customize distribution-specified server configurations in a cluster
You can customize all server configurations on the cluster by utilizing the machine_global_config argument.
For the full list of server configurations, please refer to RKE2 server configuration and K3s server configuration.
The example below demonstrates how to disable the system services in a K3s cluster:
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
machinePools: [{}],
name: "foo",
kubernetesVersion: "k3s-version",
rkeConfig: {
machineGlobalConfig: `disable:
- coredns
- servicelb
- traefik
- local-storage
- metrics-server
`,
},
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
machine_pools=[{}],
name="foo",
kubernetes_version="k3s-version",
rke_config={
"machine_global_config": """disable:
- coredns
- servicelb
- traefik
- local-storage
- metrics-server
""",
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
MachinePools: []map[string]interface{}{
map[string]interface{}{},
},
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("k3s-version"),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachineGlobalConfig: pulumi.String(`disable:
- coredns
- servicelb
- traefik
- local-storage
- metrics-server
`),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
MachinePools = new[]
{
null,
},
Name = "foo",
KubernetesVersion = "k3s-version",
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachineGlobalConfig = @"disable:
- coredns
- servicelb
- traefik
- local-storage
- metrics-server
",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.machinePools(List.of(Map.ofEntries(
)))
.name("foo")
.kubernetesVersion("k3s-version")
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machineGlobalConfig("""
disable:
- coredns
- servicelb
- traefik
- local-storage
- metrics-server
""")
.build())
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
machinePools:
- {}
name: foo
kubernetesVersion: k3s-version
rkeConfig:
machineGlobalConfig: |
disable:
- coredns
- servicelb
- traefik
- local-storage
- metrics-server
The example below demonstrates how to disable the system services in an RKE2 cluster:
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
machinePools: [{}],
name: "foo",
kubernetesVersion: "rke2-version",
rkeConfig: {
machineGlobalConfig: `disable:
- rke2-coredns
- rke2-ingress-nginx
- rke2-metrics-server
- metrics-server
`,
},
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
machine_pools=[{}],
name="foo",
kubernetes_version="rke2-version",
rke_config={
"machine_global_config": """disable:
- rke2-coredns
- rke2-ingress-nginx
- rke2-metrics-server
- metrics-server
""",
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
MachinePools: []map[string]interface{}{
map[string]interface{}{},
},
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2-version"),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachineGlobalConfig: pulumi.String(`disable:
- rke2-coredns
- rke2-ingress-nginx
- rke2-metrics-server
- metrics-server
`),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
MachinePools = new[]
{
null,
},
Name = "foo",
KubernetesVersion = "rke2-version",
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachineGlobalConfig = @"disable:
- rke2-coredns
- rke2-ingress-nginx
- rke2-metrics-server
- metrics-server
",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.machinePools(List.of(Map.ofEntries(
)))
.name("foo")
.kubernetesVersion("rke2-version")
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machineGlobalConfig("""
disable:
- rke2-coredns
- rke2-ingress-nginx
- rke2-metrics-server
- metrics-server
""")
.build())
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
machinePools:
- {}
name: foo
kubernetesVersion: rke2-version
rkeConfig:
machineGlobalConfig: |
disable:
- rke2-coredns
- rke2-ingress-nginx
- rke2-metrics-server
- metrics-server
The example below demonstrates how to add additional hostnames or IPv4/IPv6 addresses as Subject Alternative Names on the server TLS cert in an RKE2/K3s cluster:
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
machinePools: [{}],
name: "foo",
kubernetesVersion: "rke2/k3s-version",
rkeConfig: {
machineGlobalConfig: "tls-san: [\\\"example-website.com\\\", \\\"100.100.100.100\\\", \\\"2002:db8:3333:4444:5555:6666:7777:8888\\\"]\n",
},
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
machine_pools=[{}],
name="foo",
kubernetes_version="rke2/k3s-version",
rke_config={
"machine_global_config": "tls-san: [\\\"example-website.com\\\", \\\"100.100.100.100\\\", \\\"2002:db8:3333:4444:5555:6666:7777:8888\\\"]\n",
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
MachinePools: []map[string]interface{}{
map[string]interface{}{},
},
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2/k3s-version"),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachineGlobalConfig: pulumi.String("tls-san: [\\\"example-website.com\\\", \\\"100.100.100.100\\\", \\\"2002:db8:3333:4444:5555:6666:7777:8888\\\"]\n"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
MachinePools = new[]
{
null,
},
Name = "foo",
KubernetesVersion = "rke2/k3s-version",
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachineGlobalConfig = @"tls-san: [\""example-website.com\"", \""100.100.100.100\"", \""2002:db8:3333:4444:5555:6666:7777:8888\""]
",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.machinePools(List.of(Map.ofEntries(
)))
.name("foo")
.kubernetesVersion("rke2/k3s-version")
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machineGlobalConfig("""
tls-san: [\"example-website.com\", \"100.100.100.100\", \"2002:db8:3333:4444:5555:6666:7777:8888\"]
""")
.build())
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
machinePools:
- {}
name: foo
kubernetesVersion: rke2/k3s-version
rkeConfig:
machineGlobalConfig: |
tls-san: [\"example-website.com\", \"100.100.100.100\", \"2002:db8:3333:4444:5555:6666:7777:8888\"]
The example below demonstrates how to configure the IPv4/IPv6 network CIDRs to use for pod IPs and service IPs in an RKE2/K3s cluster:
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
machinePools: [{}],
name: "foo",
kubernetesVersion: "rke2/k3s-version",
rkeConfig: {
machineGlobalConfig: `cluster-cidr: \\"0.42.0.0/16\\"
service-cidr: \\"0.42.0.0/16\\"
`,
},
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
machine_pools=[{}],
name="foo",
kubernetes_version="rke2/k3s-version",
rke_config={
"machine_global_config": """cluster-cidr: \"0.42.0.0/16\"
service-cidr: \"0.42.0.0/16\"
""",
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
MachinePools: []map[string]interface{}{
map[string]interface{}{},
},
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2/k3s-version"),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachineGlobalConfig: pulumi.String("cluster-cidr: \\\"0.42.0.0/16\\\"\nservice-cidr: \\\"0.42.0.0/16\\\"\n"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
MachinePools = new[]
{
null,
},
Name = "foo",
KubernetesVersion = "rke2/k3s-version",
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachineGlobalConfig = @"cluster-cidr: \""0.42.0.0/16\""
service-cidr: \""0.42.0.0/16\""
",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.machinePools(List.of(Map.ofEntries(
)))
.name("foo")
.kubernetesVersion("rke2/k3s-version")
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machineGlobalConfig("""
cluster-cidr: \"0.42.0.0/16\"
service-cidr: \"0.42.0.0/16\"
""")
.build())
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
machinePools:
- {}
name: foo
kubernetesVersion: rke2/k3s-version
rkeConfig:
machineGlobalConfig: |
cluster-cidr: \"0.42.0.0/16\"
service-cidr: \"0.42.0.0/16\"
Customize chart values in a cluster
You can specify the values for the system charts installed by RKE2 or K3s.
For more information about how RKE2 or K3s manage packaged components, please refer to RKE2 documentation or K3s documentation.
The example below demonstrates how to customize chart values in an RKE2 cluster:
import * as pulumi from "@pulumi/pulumi";
import * as rancher2 from "@pulumi/rancher2";
const foo = new rancher2.ClusterV2("foo", {
name: "foo",
kubernetesVersion: "rke2-version",
enableNetworkPolicy: false,
rkeConfig: {
machinePools: [{}],
chartValues: `rke2-calico:
calicoctl:
image: rancher/mirrored-calico-ctl
tag: v3.19.2
certs:
node:
cert: null
commonName: null
key: null
typha:
caBundle: null
cert: null
commonName: null
key: null
felixConfiguration:
featureDetectOverride: ChecksumOffloadBroken=true
global:
systemDefaultRegistry: \\"\\"
imagePullSecrets: {}
installation:
calicoNetwork:
bgp: Disabled
ipPools:
- blockSize: 24
cidr: 10.42.0.0/16
encapsulation: VXLAN
natOutgoing: Enabled
controlPlaneTolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
operator: Exists
- effect: NoExecute
key: node-role.kubernetes.io/etcd
operator: Exists
enabled: true
imagePath: rancher
imagePrefix: mirrored-calico-
kubernetesProvider: \\"\\"
ipamConfig:
autoAllocateBlocks: true
strictAffinity: true
tigeraOperator:
image: rancher/mirrored-calico-operator
registry: docker.io
version: v1.17.6
`,
},
});
import pulumi
import pulumi_rancher2 as rancher2
foo = rancher2.ClusterV2("foo",
name="foo",
kubernetes_version="rke2-version",
enable_network_policy=False,
rke_config={
"machine_pools": [{}],
"chart_values": """rke2-calico:
calicoctl:
image: rancher/mirrored-calico-ctl
tag: v3.19.2
certs:
node:
cert: null
commonName: null
key: null
typha:
caBundle: null
cert: null
commonName: null
key: null
felixConfiguration:
featureDetectOverride: ChecksumOffloadBroken=true
global:
systemDefaultRegistry: \"\"
imagePullSecrets: {}
installation:
calicoNetwork:
bgp: Disabled
ipPools:
- blockSize: 24
cidr: 10.42.0.0/16
encapsulation: VXLAN
natOutgoing: Enabled
controlPlaneTolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
operator: Exists
- effect: NoExecute
key: node-role.kubernetes.io/etcd
operator: Exists
enabled: true
imagePath: rancher
imagePrefix: mirrored-calico-
kubernetesProvider: \"\"
ipamConfig:
autoAllocateBlocks: true
strictAffinity: true
tigeraOperator:
image: rancher/mirrored-calico-operator
registry: docker.io
version: v1.17.6
""",
})
package main
import (
"github.com/pulumi/pulumi-rancher2/sdk/v11/go/rancher2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rancher2.NewClusterV2(ctx, "foo", &rancher2.ClusterV2Args{
Name: pulumi.String("foo"),
KubernetesVersion: pulumi.String("rke2-version"),
EnableNetworkPolicy: pulumi.Bool(false),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
&rancher2.ClusterV2RkeConfigMachinePoolArgs{},
},
ChartValues: pulumi.String(`rke2-calico:
calicoctl:
image: rancher/mirrored-calico-ctl
tag: v3.19.2
certs:
node:
cert: null
commonName: null
key: null
typha:
caBundle: null
cert: null
commonName: null
key: null
felixConfiguration:
featureDetectOverride: ChecksumOffloadBroken=true
global:
systemDefaultRegistry: \"\"
imagePullSecrets: {}
installation:
calicoNetwork:
bgp: Disabled
ipPools:
- blockSize: 24
cidr: 10.42.0.0/16
encapsulation: VXLAN
natOutgoing: Enabled
controlPlaneTolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
operator: Exists
- effect: NoExecute
key: node-role.kubernetes.io/etcd
operator: Exists
enabled: true
imagePath: rancher
imagePrefix: mirrored-calico-
kubernetesProvider: \"\"
ipamConfig:
autoAllocateBlocks: true
strictAffinity: true
tigeraOperator:
image: rancher/mirrored-calico-operator
registry: docker.io
version: v1.17.6
`),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rancher2 = Pulumi.Rancher2;
return await Deployment.RunAsync(() =>
{
var foo = new Rancher2.ClusterV2("foo", new()
{
Name = "foo",
KubernetesVersion = "rke2-version",
EnableNetworkPolicy = false,
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
MachinePools = new[]
{
null,
},
ChartValues = @"rke2-calico:
calicoctl:
image: rancher/mirrored-calico-ctl
tag: v3.19.2
certs:
node:
cert: null
commonName: null
key: null
typha:
caBundle: null
cert: null
commonName: null
key: null
felixConfiguration:
featureDetectOverride: ChecksumOffloadBroken=true
global:
systemDefaultRegistry: \""\""
imagePullSecrets: {}
installation:
calicoNetwork:
bgp: Disabled
ipPools:
- blockSize: 24
cidr: 10.42.0.0/16
encapsulation: VXLAN
natOutgoing: Enabled
controlPlaneTolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
operator: Exists
- effect: NoExecute
key: node-role.kubernetes.io/etcd
operator: Exists
enabled: true
imagePath: rancher
imagePrefix: mirrored-calico-
kubernetesProvider: \""\""
ipamConfig:
autoAllocateBlocks: true
strictAffinity: true
tigeraOperator:
image: rancher/mirrored-calico-operator
registry: docker.io
version: v1.17.6
",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rancher2.ClusterV2;
import com.pulumi.rancher2.ClusterV2Args;
import com.pulumi.rancher2.inputs.ClusterV2RkeConfigArgs;
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 foo = new ClusterV2("foo", ClusterV2Args.builder()
.name("foo")
.kubernetesVersion("rke2-version")
.enableNetworkPolicy(false)
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
.build())
.chartValues("""
rke2-calico:
calicoctl:
image: rancher/mirrored-calico-ctl
tag: v3.19.2
certs:
node:
cert: null
commonName: null
key: null
typha:
caBundle: null
cert: null
commonName: null
key: null
felixConfiguration:
featureDetectOverride: ChecksumOffloadBroken=true
global:
systemDefaultRegistry: \"\"
imagePullSecrets: {}
installation:
calicoNetwork:
bgp: Disabled
ipPools:
- blockSize: 24
cidr: 10.42.0.0/16
encapsulation: VXLAN
natOutgoing: Enabled
controlPlaneTolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
operator: Exists
- effect: NoExecute
key: node-role.kubernetes.io/etcd
operator: Exists
enabled: true
imagePath: rancher
imagePrefix: mirrored-calico-
kubernetesProvider: \"\"
ipamConfig:
autoAllocateBlocks: true
strictAffinity: true
tigeraOperator:
image: rancher/mirrored-calico-operator
registry: docker.io
version: v1.17.6
""")
.build())
.build());
}
}
resources:
foo:
type: rancher2:ClusterV2
properties:
name: foo
kubernetesVersion: rke2-version
enableNetworkPolicy: false
rkeConfig:
machinePools:
- {}
chartValues: |
rke2-calico:
calicoctl:
image: rancher/mirrored-calico-ctl
tag: v3.19.2
certs:
node:
cert: null
commonName: null
key: null
typha:
caBundle: null
cert: null
commonName: null
key: null
felixConfiguration:
featureDetectOverride: ChecksumOffloadBroken=true
global:
systemDefaultRegistry: \"\"
imagePullSecrets: {}
installation:
calicoNetwork:
bgp: Disabled
ipPools:
- blockSize: 24
cidr: 10.42.0.0/16
encapsulation: VXLAN
natOutgoing: Enabled
controlPlaneTolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
operator: Exists
- effect: NoExecute
key: node-role.kubernetes.io/etcd
operator: Exists
enabled: true
imagePath: rancher
imagePrefix: mirrored-calico-
kubernetesProvider: \"\"
ipamConfig:
autoAllocateBlocks: true
strictAffinity: true
tigeraOperator:
image: rancher/mirrored-calico-operator
registry: docker.io
version: v1.17.6
Create ClusterV2 Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ClusterV2(name: string, args: ClusterV2Args, opts?: CustomResourceOptions);@overload
def ClusterV2(resource_name: str,
args: ClusterV2Args,
opts: Optional[ResourceOptions] = None)
@overload
def ClusterV2(resource_name: str,
opts: Optional[ResourceOptions] = None,
kubernetes_version: Optional[str] = None,
cluster_agent_deployment_customizations: Optional[Sequence[ClusterV2ClusterAgentDeploymentCustomizationArgs]] = None,
cloud_credential_secret_name: Optional[str] = None,
agent_env_vars: Optional[Sequence[ClusterV2AgentEnvVarArgs]] = None,
default_cluster_role_for_project_members: Optional[str] = None,
default_pod_security_admission_configuration_template_name: Optional[str] = None,
enable_network_policy: Optional[bool] = None,
fleet_agent_deployment_customizations: Optional[Sequence[ClusterV2FleetAgentDeploymentCustomizationArgs]] = None,
fleet_namespace: Optional[str] = None,
annotations: Optional[Mapping[str, str]] = None,
labels: Optional[Mapping[str, str]] = None,
local_auth_endpoint: Optional[ClusterV2LocalAuthEndpointArgs] = None,
name: Optional[str] = None,
rke_config: Optional[ClusterV2RkeConfigArgs] = None)func NewClusterV2(ctx *Context, name string, args ClusterV2Args, opts ...ResourceOption) (*ClusterV2, error)public ClusterV2(string name, ClusterV2Args args, CustomResourceOptions? opts = null)
public ClusterV2(String name, ClusterV2Args args)
public ClusterV2(String name, ClusterV2Args args, CustomResourceOptions options)
type: rancher2:ClusterV2
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 ClusterV2Args
- 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 ClusterV2Args
- 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 ClusterV2Args
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ClusterV2Args
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ClusterV2Args
- 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 clusterV2Resource = new Rancher2.ClusterV2("clusterV2Resource", new()
{
KubernetesVersion = "string",
ClusterAgentDeploymentCustomizations = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationArgs
{
AppendTolerations = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs
{
Key = "string",
Effect = "string",
Operator = "string",
Seconds = 0,
Value = "string",
},
},
OverrideAffinity = "string",
OverrideResourceRequirements = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs
{
CpuLimit = "string",
CpuRequest = "string",
MemoryLimit = "string",
MemoryRequest = "string",
},
},
SchedulingCustomizations = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs
{
PodDisruptionBudgets = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs
{
MaxUnavailable = "string",
MinAvailable = "string",
},
},
PriorityClasses = new[]
{
new Rancher2.Inputs.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs
{
Value = 0,
PreemptionPolicy = "string",
},
},
},
},
},
},
CloudCredentialSecretName = "string",
AgentEnvVars = new[]
{
new Rancher2.Inputs.ClusterV2AgentEnvVarArgs
{
Name = "string",
Value = "string",
},
},
DefaultClusterRoleForProjectMembers = "string",
DefaultPodSecurityAdmissionConfigurationTemplateName = "string",
EnableNetworkPolicy = false,
FleetAgentDeploymentCustomizations = new[]
{
new Rancher2.Inputs.ClusterV2FleetAgentDeploymentCustomizationArgs
{
AppendTolerations = new[]
{
new Rancher2.Inputs.ClusterV2FleetAgentDeploymentCustomizationAppendTolerationArgs
{
Key = "string",
Effect = "string",
Operator = "string",
Seconds = 0,
Value = "string",
},
},
OverrideAffinity = "string",
OverrideResourceRequirements = new[]
{
new Rancher2.Inputs.ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirementArgs
{
CpuLimit = "string",
CpuRequest = "string",
MemoryLimit = "string",
MemoryRequest = "string",
},
},
},
},
FleetNamespace = "string",
Annotations =
{
{ "string", "string" },
},
Labels =
{
{ "string", "string" },
},
LocalAuthEndpoint = new Rancher2.Inputs.ClusterV2LocalAuthEndpointArgs
{
CaCerts = "string",
Enabled = false,
Fqdn = "string",
},
Name = "string",
RkeConfig = new Rancher2.Inputs.ClusterV2RkeConfigArgs
{
AdditionalManifest = "string",
ChartValues = "string",
DataDirectories = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigDataDirectoryArgs
{
K8sDistro = "string",
Provisioning = "string",
SystemAgent = "string",
},
},
Etcd = new Rancher2.Inputs.ClusterV2RkeConfigEtcdArgs
{
DisableSnapshots = false,
S3Config = new Rancher2.Inputs.ClusterV2RkeConfigEtcdS3ConfigArgs
{
Bucket = "string",
Endpoint = "string",
CloudCredentialName = "string",
EndpointCa = "string",
Folder = "string",
Region = "string",
SkipSslVerify = false,
},
SnapshotRetention = 0,
SnapshotScheduleCron = "string",
},
EtcdSnapshotCreate = new Rancher2.Inputs.ClusterV2RkeConfigEtcdSnapshotCreateArgs
{
Generation = 0,
},
EtcdSnapshotRestore = new Rancher2.Inputs.ClusterV2RkeConfigEtcdSnapshotRestoreArgs
{
Generation = 0,
Name = "string",
RestoreRkeConfig = "string",
},
MachineGlobalConfig = "string",
MachinePoolDefaults = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolDefaultArgs
{
HostnameLengthLimit = 0,
},
},
MachinePools = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolArgs
{
MachineConfig = new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolMachineConfigArgs
{
Kind = "string",
Name = "string",
ApiVersion = "string",
},
Name = "string",
MaxUnhealthy = "string",
CloudCredentialSecretName = "string",
EtcdRole = false,
HostnameLengthLimit = 0,
Labels =
{
{ "string", "string" },
},
ControlPlaneRole = false,
MachineLabels =
{
{ "string", "string" },
},
MachineOs = "string",
Annotations =
{
{ "string", "string" },
},
DrainBeforeDelete = false,
NodeDrainTimeout = 0,
NodeStartupTimeoutSeconds = 0,
Paused = false,
Quantity = 0,
RollingUpdate = new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolRollingUpdateArgs
{
MaxSurge = "string",
MaxUnavailable = "string",
},
Taints = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachinePoolTaintArgs
{
Key = "string",
Value = "string",
Effect = "string",
},
},
UnhealthyNodeTimeoutSeconds = 0,
UnhealthyRange = "string",
WorkerRole = false,
},
},
MachineSelectorConfigs = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigArgs
{
Config = "string",
MachineLabelSelector = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs
{
MatchExpressions = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs
{
Key = "string",
Operator = "string",
Values = new[]
{
"string",
},
},
},
MatchLabels =
{
{ "string", "string" },
},
},
},
},
MachineSelectorFiles = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileArgs
{
FileSources = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceArgs
{
Configmap = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapArgs
{
Name = "string",
DefaultPermissions = "string",
Items = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItemArgs
{
Key = "string",
Path = "string",
Dynamic = false,
Hash = "string",
Permissions = "string",
},
},
},
Secret = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs
{
Name = "string",
DefaultPermissions = "string",
Items = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs
{
Key = "string",
Path = "string",
Dynamic = false,
Hash = "string",
Permissions = "string",
},
},
},
},
},
MachineLabelSelector = new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs
{
MatchExpressions = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs
{
Key = "string",
Operator = "string",
Values = new[]
{
"string",
},
},
},
MatchLabels =
{
{ "string", "string" },
},
},
},
},
Networking = new Rancher2.Inputs.ClusterV2RkeConfigNetworkingArgs
{
StackPreference = "string",
},
Registries = new Rancher2.Inputs.ClusterV2RkeConfigRegistriesArgs
{
Configs = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigRegistriesConfigArgs
{
Hostname = "string",
AuthConfigSecretName = "string",
CaBundle = "string",
Insecure = false,
TlsSecretName = "string",
},
},
Mirrors = new[]
{
new Rancher2.Inputs.ClusterV2RkeConfigRegistriesMirrorArgs
{
Hostname = "string",
Endpoints = new[]
{
"string",
},
Rewrites =
{
{ "string", "string" },
},
},
},
},
RotateCertificates = new Rancher2.Inputs.ClusterV2RkeConfigRotateCertificatesArgs
{
Generation = 0,
Services = new[]
{
"string",
},
},
UpgradeStrategy = new Rancher2.Inputs.ClusterV2RkeConfigUpgradeStrategyArgs
{
ControlPlaneConcurrency = "string",
ControlPlaneDrainOptions = new Rancher2.Inputs.ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptionsArgs
{
DeleteEmptyDirData = false,
DisableEviction = false,
Enabled = false,
Force = false,
GracePeriod = 0,
IgnoreDaemonSets = false,
IgnoreErrors = false,
SkipWaitForDeleteTimeoutSeconds = 0,
Timeout = 0,
},
WorkerConcurrency = "string",
WorkerDrainOptions = new Rancher2.Inputs.ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptionsArgs
{
DeleteEmptyDirData = false,
DisableEviction = false,
Enabled = false,
Force = false,
GracePeriod = 0,
IgnoreDaemonSets = false,
IgnoreErrors = false,
SkipWaitForDeleteTimeoutSeconds = 0,
Timeout = 0,
},
},
},
});
example, err := rancher2.NewClusterV2(ctx, "clusterV2Resource", &rancher2.ClusterV2Args{
KubernetesVersion: pulumi.String("string"),
ClusterAgentDeploymentCustomizations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationArgs{
AppendTolerations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs{
Key: pulumi.String("string"),
Effect: pulumi.String("string"),
Operator: pulumi.String("string"),
Seconds: pulumi.Int(0),
Value: pulumi.String("string"),
},
},
OverrideAffinity: pulumi.String("string"),
OverrideResourceRequirements: rancher2.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs{
CpuLimit: pulumi.String("string"),
CpuRequest: pulumi.String("string"),
MemoryLimit: pulumi.String("string"),
MemoryRequest: pulumi.String("string"),
},
},
SchedulingCustomizations: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs{
PodDisruptionBudgets: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs{
MaxUnavailable: pulumi.String("string"),
MinAvailable: pulumi.String("string"),
},
},
PriorityClasses: rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArray{
&rancher2.ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs{
Value: pulumi.Int(0),
PreemptionPolicy: pulumi.String("string"),
},
},
},
},
},
},
CloudCredentialSecretName: pulumi.String("string"),
AgentEnvVars: rancher2.ClusterV2AgentEnvVarArray{
&rancher2.ClusterV2AgentEnvVarArgs{
Name: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
DefaultClusterRoleForProjectMembers: pulumi.String("string"),
DefaultPodSecurityAdmissionConfigurationTemplateName: pulumi.String("string"),
EnableNetworkPolicy: pulumi.Bool(false),
FleetAgentDeploymentCustomizations: rancher2.ClusterV2FleetAgentDeploymentCustomizationArray{
&rancher2.ClusterV2FleetAgentDeploymentCustomizationArgs{
AppendTolerations: rancher2.ClusterV2FleetAgentDeploymentCustomizationAppendTolerationArray{
&rancher2.ClusterV2FleetAgentDeploymentCustomizationAppendTolerationArgs{
Key: pulumi.String("string"),
Effect: pulumi.String("string"),
Operator: pulumi.String("string"),
Seconds: pulumi.Int(0),
Value: pulumi.String("string"),
},
},
OverrideAffinity: pulumi.String("string"),
OverrideResourceRequirements: rancher2.ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirementArray{
&rancher2.ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirementArgs{
CpuLimit: pulumi.String("string"),
CpuRequest: pulumi.String("string"),
MemoryLimit: pulumi.String("string"),
MemoryRequest: pulumi.String("string"),
},
},
},
},
FleetNamespace: pulumi.String("string"),
Annotations: pulumi.StringMap{
"string": pulumi.String("string"),
},
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
LocalAuthEndpoint: &rancher2.ClusterV2LocalAuthEndpointArgs{
CaCerts: pulumi.String("string"),
Enabled: pulumi.Bool(false),
Fqdn: pulumi.String("string"),
},
Name: pulumi.String("string"),
RkeConfig: &rancher2.ClusterV2RkeConfigArgs{
AdditionalManifest: pulumi.String("string"),
ChartValues: pulumi.String("string"),
DataDirectories: rancher2.ClusterV2RkeConfigDataDirectoryArray{
&rancher2.ClusterV2RkeConfigDataDirectoryArgs{
K8sDistro: pulumi.String("string"),
Provisioning: pulumi.String("string"),
SystemAgent: pulumi.String("string"),
},
},
Etcd: &rancher2.ClusterV2RkeConfigEtcdArgs{
DisableSnapshots: pulumi.Bool(false),
S3Config: &rancher2.ClusterV2RkeConfigEtcdS3ConfigArgs{
Bucket: pulumi.String("string"),
Endpoint: pulumi.String("string"),
CloudCredentialName: pulumi.String("string"),
EndpointCa: pulumi.String("string"),
Folder: pulumi.String("string"),
Region: pulumi.String("string"),
SkipSslVerify: pulumi.Bool(false),
},
SnapshotRetention: pulumi.Int(0),
SnapshotScheduleCron: pulumi.String("string"),
},
EtcdSnapshotCreate: &rancher2.ClusterV2RkeConfigEtcdSnapshotCreateArgs{
Generation: pulumi.Int(0),
},
EtcdSnapshotRestore: &rancher2.ClusterV2RkeConfigEtcdSnapshotRestoreArgs{
Generation: pulumi.Int(0),
Name: pulumi.String("string"),
RestoreRkeConfig: pulumi.String("string"),
},
MachineGlobalConfig: pulumi.String("string"),
MachinePoolDefaults: rancher2.ClusterV2RkeConfigMachinePoolDefaultArray{
&rancher2.ClusterV2RkeConfigMachinePoolDefaultArgs{
HostnameLengthLimit: pulumi.Int(0),
},
},
MachinePools: rancher2.ClusterV2RkeConfigMachinePoolArray{
&rancher2.ClusterV2RkeConfigMachinePoolArgs{
MachineConfig: &rancher2.ClusterV2RkeConfigMachinePoolMachineConfigArgs{
Kind: pulumi.String("string"),
Name: pulumi.String("string"),
ApiVersion: pulumi.String("string"),
},
Name: pulumi.String("string"),
MaxUnhealthy: pulumi.String("string"),
CloudCredentialSecretName: pulumi.String("string"),
EtcdRole: pulumi.Bool(false),
HostnameLengthLimit: pulumi.Int(0),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
ControlPlaneRole: pulumi.Bool(false),
MachineLabels: pulumi.StringMap{
"string": pulumi.String("string"),
},
MachineOs: pulumi.String("string"),
Annotations: pulumi.StringMap{
"string": pulumi.String("string"),
},
DrainBeforeDelete: pulumi.Bool(false),
NodeDrainTimeout: pulumi.Int(0),
NodeStartupTimeoutSeconds: pulumi.Int(0),
Paused: pulumi.Bool(false),
Quantity: pulumi.Int(0),
RollingUpdate: &rancher2.ClusterV2RkeConfigMachinePoolRollingUpdateArgs{
MaxSurge: pulumi.String("string"),
MaxUnavailable: pulumi.String("string"),
},
Taints: rancher2.ClusterV2RkeConfigMachinePoolTaintArray{
&rancher2.ClusterV2RkeConfigMachinePoolTaintArgs{
Key: pulumi.String("string"),
Value: pulumi.String("string"),
Effect: pulumi.String("string"),
},
},
UnhealthyNodeTimeoutSeconds: pulumi.Int(0),
UnhealthyRange: pulumi.String("string"),
WorkerRole: pulumi.Bool(false),
},
},
MachineSelectorConfigs: rancher2.ClusterV2RkeConfigMachineSelectorConfigArray{
&rancher2.ClusterV2RkeConfigMachineSelectorConfigArgs{
Config: pulumi.String("string"),
MachineLabelSelector: &rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs{
MatchExpressions: rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArray{
&rancher2.ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs{
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
MatchLabels: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
},
MachineSelectorFiles: rancher2.ClusterV2RkeConfigMachineSelectorFileArray{
&rancher2.ClusterV2RkeConfigMachineSelectorFileArgs{
FileSources: rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceArray{
&rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceArgs{
Configmap: &rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapArgs{
Name: pulumi.String("string"),
DefaultPermissions: pulumi.String("string"),
Items: rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItemArray{
&rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItemArgs{
Key: pulumi.String("string"),
Path: pulumi.String("string"),
Dynamic: pulumi.Bool(false),
Hash: pulumi.String("string"),
Permissions: pulumi.String("string"),
},
},
},
Secret: &rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs{
Name: pulumi.String("string"),
DefaultPermissions: pulumi.String("string"),
Items: rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArray{
&rancher2.ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs{
Key: pulumi.String("string"),
Path: pulumi.String("string"),
Dynamic: pulumi.Bool(false),
Hash: pulumi.String("string"),
Permissions: pulumi.String("string"),
},
},
},
},
},
MachineLabelSelector: &rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs{
MatchExpressions: rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArray{
&rancher2.ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs{
Key: pulumi.String("string"),
Operator: pulumi.String("string"),
Values: pulumi.StringArray{
pulumi.String("string"),
},
},
},
MatchLabels: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
},
Networking: &rancher2.ClusterV2RkeConfigNetworkingArgs{
StackPreference: pulumi.String("string"),
},
Registries: &rancher2.ClusterV2RkeConfigRegistriesArgs{
Configs: rancher2.ClusterV2RkeConfigRegistriesConfigArray{
&rancher2.ClusterV2RkeConfigRegistriesConfigArgs{
Hostname: pulumi.String("string"),
AuthConfigSecretName: pulumi.String("string"),
CaBundle: pulumi.String("string"),
Insecure: pulumi.Bool(false),
TlsSecretName: pulumi.String("string"),
},
},
Mirrors: rancher2.ClusterV2RkeConfigRegistriesMirrorArray{
&rancher2.ClusterV2RkeConfigRegistriesMirrorArgs{
Hostname: pulumi.String("string"),
Endpoints: pulumi.StringArray{
pulumi.String("string"),
},
Rewrites: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
},
RotateCertificates: &rancher2.ClusterV2RkeConfigRotateCertificatesArgs{
Generation: pulumi.Int(0),
Services: pulumi.StringArray{
pulumi.String("string"),
},
},
UpgradeStrategy: &rancher2.ClusterV2RkeConfigUpgradeStrategyArgs{
ControlPlaneConcurrency: pulumi.String("string"),
ControlPlaneDrainOptions: &rancher2.ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptionsArgs{
DeleteEmptyDirData: pulumi.Bool(false),
DisableEviction: pulumi.Bool(false),
Enabled: pulumi.Bool(false),
Force: pulumi.Bool(false),
GracePeriod: pulumi.Int(0),
IgnoreDaemonSets: pulumi.Bool(false),
IgnoreErrors: pulumi.Bool(false),
SkipWaitForDeleteTimeoutSeconds: pulumi.Int(0),
Timeout: pulumi.Int(0),
},
WorkerConcurrency: pulumi.String("string"),
WorkerDrainOptions: &rancher2.ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptionsArgs{
DeleteEmptyDirData: pulumi.Bool(false),
DisableEviction: pulumi.Bool(false),
Enabled: pulumi.Bool(false),
Force: pulumi.Bool(false),
GracePeriod: pulumi.Int(0),
IgnoreDaemonSets: pulumi.Bool(false),
IgnoreErrors: pulumi.Bool(false),
SkipWaitForDeleteTimeoutSeconds: pulumi.Int(0),
Timeout: pulumi.Int(0),
},
},
},
})
var clusterV2Resource = new ClusterV2("clusterV2Resource", ClusterV2Args.builder()
.kubernetesVersion("string")
.clusterAgentDeploymentCustomizations(ClusterV2ClusterAgentDeploymentCustomizationArgs.builder()
.appendTolerations(ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs.builder()
.key("string")
.effect("string")
.operator("string")
.seconds(0)
.value("string")
.build())
.overrideAffinity("string")
.overrideResourceRequirements(ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs.builder()
.cpuLimit("string")
.cpuRequest("string")
.memoryLimit("string")
.memoryRequest("string")
.build())
.schedulingCustomizations(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs.builder()
.podDisruptionBudgets(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs.builder()
.maxUnavailable("string")
.minAvailable("string")
.build())
.priorityClasses(ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs.builder()
.value(0)
.preemptionPolicy("string")
.build())
.build())
.build())
.cloudCredentialSecretName("string")
.agentEnvVars(ClusterV2AgentEnvVarArgs.builder()
.name("string")
.value("string")
.build())
.defaultClusterRoleForProjectMembers("string")
.defaultPodSecurityAdmissionConfigurationTemplateName("string")
.enableNetworkPolicy(false)
.fleetAgentDeploymentCustomizations(ClusterV2FleetAgentDeploymentCustomizationArgs.builder()
.appendTolerations(ClusterV2FleetAgentDeploymentCustomizationAppendTolerationArgs.builder()
.key("string")
.effect("string")
.operator("string")
.seconds(0)
.value("string")
.build())
.overrideAffinity("string")
.overrideResourceRequirements(ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirementArgs.builder()
.cpuLimit("string")
.cpuRequest("string")
.memoryLimit("string")
.memoryRequest("string")
.build())
.build())
.fleetNamespace("string")
.annotations(Map.of("string", "string"))
.labels(Map.of("string", "string"))
.localAuthEndpoint(ClusterV2LocalAuthEndpointArgs.builder()
.caCerts("string")
.enabled(false)
.fqdn("string")
.build())
.name("string")
.rkeConfig(ClusterV2RkeConfigArgs.builder()
.additionalManifest("string")
.chartValues("string")
.dataDirectories(ClusterV2RkeConfigDataDirectoryArgs.builder()
.k8sDistro("string")
.provisioning("string")
.systemAgent("string")
.build())
.etcd(ClusterV2RkeConfigEtcdArgs.builder()
.disableSnapshots(false)
.s3Config(ClusterV2RkeConfigEtcdS3ConfigArgs.builder()
.bucket("string")
.endpoint("string")
.cloudCredentialName("string")
.endpointCa("string")
.folder("string")
.region("string")
.skipSslVerify(false)
.build())
.snapshotRetention(0)
.snapshotScheduleCron("string")
.build())
.etcdSnapshotCreate(ClusterV2RkeConfigEtcdSnapshotCreateArgs.builder()
.generation(0)
.build())
.etcdSnapshotRestore(ClusterV2RkeConfigEtcdSnapshotRestoreArgs.builder()
.generation(0)
.name("string")
.restoreRkeConfig("string")
.build())
.machineGlobalConfig("string")
.machinePoolDefaults(ClusterV2RkeConfigMachinePoolDefaultArgs.builder()
.hostnameLengthLimit(0)
.build())
.machinePools(ClusterV2RkeConfigMachinePoolArgs.builder()
.machineConfig(ClusterV2RkeConfigMachinePoolMachineConfigArgs.builder()
.kind("string")
.name("string")
.apiVersion("string")
.build())
.name("string")
.maxUnhealthy("string")
.cloudCredentialSecretName("string")
.etcdRole(false)
.hostnameLengthLimit(0)
.labels(Map.of("string", "string"))
.controlPlaneRole(false)
.machineLabels(Map.of("string", "string"))
.machineOs("string")
.annotations(Map.of("string", "string"))
.drainBeforeDelete(false)
.nodeDrainTimeout(0)
.nodeStartupTimeoutSeconds(0)
.paused(false)
.quantity(0)
.rollingUpdate(ClusterV2RkeConfigMachinePoolRollingUpdateArgs.builder()
.maxSurge("string")
.maxUnavailable("string")
.build())
.taints(ClusterV2RkeConfigMachinePoolTaintArgs.builder()
.key("string")
.value("string")
.effect("string")
.build())
.unhealthyNodeTimeoutSeconds(0)
.unhealthyRange("string")
.workerRole(false)
.build())
.machineSelectorConfigs(ClusterV2RkeConfigMachineSelectorConfigArgs.builder()
.config("string")
.machineLabelSelector(ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs.builder()
.matchExpressions(ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs.builder()
.key("string")
.operator("string")
.values("string")
.build())
.matchLabels(Map.of("string", "string"))
.build())
.build())
.machineSelectorFiles(ClusterV2RkeConfigMachineSelectorFileArgs.builder()
.fileSources(ClusterV2RkeConfigMachineSelectorFileFileSourceArgs.builder()
.configmap(ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapArgs.builder()
.name("string")
.defaultPermissions("string")
.items(ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItemArgs.builder()
.key("string")
.path("string")
.dynamic(false)
.hash("string")
.permissions("string")
.build())
.build())
.secret(ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs.builder()
.name("string")
.defaultPermissions("string")
.items(ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs.builder()
.key("string")
.path("string")
.dynamic(false)
.hash("string")
.permissions("string")
.build())
.build())
.build())
.machineLabelSelector(ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs.builder()
.matchExpressions(ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs.builder()
.key("string")
.operator("string")
.values("string")
.build())
.matchLabels(Map.of("string", "string"))
.build())
.build())
.networking(ClusterV2RkeConfigNetworkingArgs.builder()
.stackPreference("string")
.build())
.registries(ClusterV2RkeConfigRegistriesArgs.builder()
.configs(ClusterV2RkeConfigRegistriesConfigArgs.builder()
.hostname("string")
.authConfigSecretName("string")
.caBundle("string")
.insecure(false)
.tlsSecretName("string")
.build())
.mirrors(ClusterV2RkeConfigRegistriesMirrorArgs.builder()
.hostname("string")
.endpoints("string")
.rewrites(Map.of("string", "string"))
.build())
.build())
.rotateCertificates(ClusterV2RkeConfigRotateCertificatesArgs.builder()
.generation(0)
.services("string")
.build())
.upgradeStrategy(ClusterV2RkeConfigUpgradeStrategyArgs.builder()
.controlPlaneConcurrency("string")
.controlPlaneDrainOptions(ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptionsArgs.builder()
.deleteEmptyDirData(false)
.disableEviction(false)
.enabled(false)
.force(false)
.gracePeriod(0)
.ignoreDaemonSets(false)
.ignoreErrors(false)
.skipWaitForDeleteTimeoutSeconds(0)
.timeout(0)
.build())
.workerConcurrency("string")
.workerDrainOptions(ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptionsArgs.builder()
.deleteEmptyDirData(false)
.disableEviction(false)
.enabled(false)
.force(false)
.gracePeriod(0)
.ignoreDaemonSets(false)
.ignoreErrors(false)
.skipWaitForDeleteTimeoutSeconds(0)
.timeout(0)
.build())
.build())
.build())
.build());
cluster_v2_resource = rancher2.ClusterV2("clusterV2Resource",
kubernetes_version="string",
cluster_agent_deployment_customizations=[{
"append_tolerations": [{
"key": "string",
"effect": "string",
"operator": "string",
"seconds": 0,
"value": "string",
}],
"override_affinity": "string",
"override_resource_requirements": [{
"cpu_limit": "string",
"cpu_request": "string",
"memory_limit": "string",
"memory_request": "string",
}],
"scheduling_customizations": [{
"pod_disruption_budgets": [{
"max_unavailable": "string",
"min_available": "string",
}],
"priority_classes": [{
"value": 0,
"preemption_policy": "string",
}],
}],
}],
cloud_credential_secret_name="string",
agent_env_vars=[{
"name": "string",
"value": "string",
}],
default_cluster_role_for_project_members="string",
default_pod_security_admission_configuration_template_name="string",
enable_network_policy=False,
fleet_agent_deployment_customizations=[{
"append_tolerations": [{
"key": "string",
"effect": "string",
"operator": "string",
"seconds": 0,
"value": "string",
}],
"override_affinity": "string",
"override_resource_requirements": [{
"cpu_limit": "string",
"cpu_request": "string",
"memory_limit": "string",
"memory_request": "string",
}],
}],
fleet_namespace="string",
annotations={
"string": "string",
},
labels={
"string": "string",
},
local_auth_endpoint={
"ca_certs": "string",
"enabled": False,
"fqdn": "string",
},
name="string",
rke_config={
"additional_manifest": "string",
"chart_values": "string",
"data_directories": [{
"k8s_distro": "string",
"provisioning": "string",
"system_agent": "string",
}],
"etcd": {
"disable_snapshots": False,
"s3_config": {
"bucket": "string",
"endpoint": "string",
"cloud_credential_name": "string",
"endpoint_ca": "string",
"folder": "string",
"region": "string",
"skip_ssl_verify": False,
},
"snapshot_retention": 0,
"snapshot_schedule_cron": "string",
},
"etcd_snapshot_create": {
"generation": 0,
},
"etcd_snapshot_restore": {
"generation": 0,
"name": "string",
"restore_rke_config": "string",
},
"machine_global_config": "string",
"machine_pool_defaults": [{
"hostname_length_limit": 0,
}],
"machine_pools": [{
"machine_config": {
"kind": "string",
"name": "string",
"api_version": "string",
},
"name": "string",
"max_unhealthy": "string",
"cloud_credential_secret_name": "string",
"etcd_role": False,
"hostname_length_limit": 0,
"labels": {
"string": "string",
},
"control_plane_role": False,
"machine_labels": {
"string": "string",
},
"machine_os": "string",
"annotations": {
"string": "string",
},
"drain_before_delete": False,
"node_drain_timeout": 0,
"node_startup_timeout_seconds": 0,
"paused": False,
"quantity": 0,
"rolling_update": {
"max_surge": "string",
"max_unavailable": "string",
},
"taints": [{
"key": "string",
"value": "string",
"effect": "string",
}],
"unhealthy_node_timeout_seconds": 0,
"unhealthy_range": "string",
"worker_role": False,
}],
"machine_selector_configs": [{
"config": "string",
"machine_label_selector": {
"match_expressions": [{
"key": "string",
"operator": "string",
"values": ["string"],
}],
"match_labels": {
"string": "string",
},
},
}],
"machine_selector_files": [{
"file_sources": [{
"configmap": {
"name": "string",
"default_permissions": "string",
"items": [{
"key": "string",
"path": "string",
"dynamic": False,
"hash": "string",
"permissions": "string",
}],
},
"secret": {
"name": "string",
"default_permissions": "string",
"items": [{
"key": "string",
"path": "string",
"dynamic": False,
"hash": "string",
"permissions": "string",
}],
},
}],
"machine_label_selector": {
"match_expressions": [{
"key": "string",
"operator": "string",
"values": ["string"],
}],
"match_labels": {
"string": "string",
},
},
}],
"networking": {
"stack_preference": "string",
},
"registries": {
"configs": [{
"hostname": "string",
"auth_config_secret_name": "string",
"ca_bundle": "string",
"insecure": False,
"tls_secret_name": "string",
}],
"mirrors": [{
"hostname": "string",
"endpoints": ["string"],
"rewrites": {
"string": "string",
},
}],
},
"rotate_certificates": {
"generation": 0,
"services": ["string"],
},
"upgrade_strategy": {
"control_plane_concurrency": "string",
"control_plane_drain_options": {
"delete_empty_dir_data": False,
"disable_eviction": False,
"enabled": False,
"force": False,
"grace_period": 0,
"ignore_daemon_sets": False,
"ignore_errors": False,
"skip_wait_for_delete_timeout_seconds": 0,
"timeout": 0,
},
"worker_concurrency": "string",
"worker_drain_options": {
"delete_empty_dir_data": False,
"disable_eviction": False,
"enabled": False,
"force": False,
"grace_period": 0,
"ignore_daemon_sets": False,
"ignore_errors": False,
"skip_wait_for_delete_timeout_seconds": 0,
"timeout": 0,
},
},
})
const clusterV2Resource = new rancher2.ClusterV2("clusterV2Resource", {
kubernetesVersion: "string",
clusterAgentDeploymentCustomizations: [{
appendTolerations: [{
key: "string",
effect: "string",
operator: "string",
seconds: 0,
value: "string",
}],
overrideAffinity: "string",
overrideResourceRequirements: [{
cpuLimit: "string",
cpuRequest: "string",
memoryLimit: "string",
memoryRequest: "string",
}],
schedulingCustomizations: [{
podDisruptionBudgets: [{
maxUnavailable: "string",
minAvailable: "string",
}],
priorityClasses: [{
value: 0,
preemptionPolicy: "string",
}],
}],
}],
cloudCredentialSecretName: "string",
agentEnvVars: [{
name: "string",
value: "string",
}],
defaultClusterRoleForProjectMembers: "string",
defaultPodSecurityAdmissionConfigurationTemplateName: "string",
enableNetworkPolicy: false,
fleetAgentDeploymentCustomizations: [{
appendTolerations: [{
key: "string",
effect: "string",
operator: "string",
seconds: 0,
value: "string",
}],
overrideAffinity: "string",
overrideResourceRequirements: [{
cpuLimit: "string",
cpuRequest: "string",
memoryLimit: "string",
memoryRequest: "string",
}],
}],
fleetNamespace: "string",
annotations: {
string: "string",
},
labels: {
string: "string",
},
localAuthEndpoint: {
caCerts: "string",
enabled: false,
fqdn: "string",
},
name: "string",
rkeConfig: {
additionalManifest: "string",
chartValues: "string",
dataDirectories: [{
k8sDistro: "string",
provisioning: "string",
systemAgent: "string",
}],
etcd: {
disableSnapshots: false,
s3Config: {
bucket: "string",
endpoint: "string",
cloudCredentialName: "string",
endpointCa: "string",
folder: "string",
region: "string",
skipSslVerify: false,
},
snapshotRetention: 0,
snapshotScheduleCron: "string",
},
etcdSnapshotCreate: {
generation: 0,
},
etcdSnapshotRestore: {
generation: 0,
name: "string",
restoreRkeConfig: "string",
},
machineGlobalConfig: "string",
machinePoolDefaults: [{
hostnameLengthLimit: 0,
}],
machinePools: [{
machineConfig: {
kind: "string",
name: "string",
apiVersion: "string",
},
name: "string",
maxUnhealthy: "string",
cloudCredentialSecretName: "string",
etcdRole: false,
hostnameLengthLimit: 0,
labels: {
string: "string",
},
controlPlaneRole: false,
machineLabels: {
string: "string",
},
machineOs: "string",
annotations: {
string: "string",
},
drainBeforeDelete: false,
nodeDrainTimeout: 0,
nodeStartupTimeoutSeconds: 0,
paused: false,
quantity: 0,
rollingUpdate: {
maxSurge: "string",
maxUnavailable: "string",
},
taints: [{
key: "string",
value: "string",
effect: "string",
}],
unhealthyNodeTimeoutSeconds: 0,
unhealthyRange: "string",
workerRole: false,
}],
machineSelectorConfigs: [{
config: "string",
machineLabelSelector: {
matchExpressions: [{
key: "string",
operator: "string",
values: ["string"],
}],
matchLabels: {
string: "string",
},
},
}],
machineSelectorFiles: [{
fileSources: [{
configmap: {
name: "string",
defaultPermissions: "string",
items: [{
key: "string",
path: "string",
dynamic: false,
hash: "string",
permissions: "string",
}],
},
secret: {
name: "string",
defaultPermissions: "string",
items: [{
key: "string",
path: "string",
dynamic: false,
hash: "string",
permissions: "string",
}],
},
}],
machineLabelSelector: {
matchExpressions: [{
key: "string",
operator: "string",
values: ["string"],
}],
matchLabels: {
string: "string",
},
},
}],
networking: {
stackPreference: "string",
},
registries: {
configs: [{
hostname: "string",
authConfigSecretName: "string",
caBundle: "string",
insecure: false,
tlsSecretName: "string",
}],
mirrors: [{
hostname: "string",
endpoints: ["string"],
rewrites: {
string: "string",
},
}],
},
rotateCertificates: {
generation: 0,
services: ["string"],
},
upgradeStrategy: {
controlPlaneConcurrency: "string",
controlPlaneDrainOptions: {
deleteEmptyDirData: false,
disableEviction: false,
enabled: false,
force: false,
gracePeriod: 0,
ignoreDaemonSets: false,
ignoreErrors: false,
skipWaitForDeleteTimeoutSeconds: 0,
timeout: 0,
},
workerConcurrency: "string",
workerDrainOptions: {
deleteEmptyDirData: false,
disableEviction: false,
enabled: false,
force: false,
gracePeriod: 0,
ignoreDaemonSets: false,
ignoreErrors: false,
skipWaitForDeleteTimeoutSeconds: 0,
timeout: 0,
},
},
},
});
type: rancher2:ClusterV2
properties:
agentEnvVars:
- name: string
value: string
annotations:
string: string
cloudCredentialSecretName: string
clusterAgentDeploymentCustomizations:
- appendTolerations:
- effect: string
key: string
operator: string
seconds: 0
value: string
overrideAffinity: string
overrideResourceRequirements:
- cpuLimit: string
cpuRequest: string
memoryLimit: string
memoryRequest: string
schedulingCustomizations:
- podDisruptionBudgets:
- maxUnavailable: string
minAvailable: string
priorityClasses:
- preemptionPolicy: string
value: 0
defaultClusterRoleForProjectMembers: string
defaultPodSecurityAdmissionConfigurationTemplateName: string
enableNetworkPolicy: false
fleetAgentDeploymentCustomizations:
- appendTolerations:
- effect: string
key: string
operator: string
seconds: 0
value: string
overrideAffinity: string
overrideResourceRequirements:
- cpuLimit: string
cpuRequest: string
memoryLimit: string
memoryRequest: string
fleetNamespace: string
kubernetesVersion: string
labels:
string: string
localAuthEndpoint:
caCerts: string
enabled: false
fqdn: string
name: string
rkeConfig:
additionalManifest: string
chartValues: string
dataDirectories:
- k8sDistro: string
provisioning: string
systemAgent: string
etcd:
disableSnapshots: false
s3Config:
bucket: string
cloudCredentialName: string
endpoint: string
endpointCa: string
folder: string
region: string
skipSslVerify: false
snapshotRetention: 0
snapshotScheduleCron: string
etcdSnapshotCreate:
generation: 0
etcdSnapshotRestore:
generation: 0
name: string
restoreRkeConfig: string
machineGlobalConfig: string
machinePoolDefaults:
- hostnameLengthLimit: 0
machinePools:
- annotations:
string: string
cloudCredentialSecretName: string
controlPlaneRole: false
drainBeforeDelete: false
etcdRole: false
hostnameLengthLimit: 0
labels:
string: string
machineConfig:
apiVersion: string
kind: string
name: string
machineLabels:
string: string
machineOs: string
maxUnhealthy: string
name: string
nodeDrainTimeout: 0
nodeStartupTimeoutSeconds: 0
paused: false
quantity: 0
rollingUpdate:
maxSurge: string
maxUnavailable: string
taints:
- effect: string
key: string
value: string
unhealthyNodeTimeoutSeconds: 0
unhealthyRange: string
workerRole: false
machineSelectorConfigs:
- config: string
machineLabelSelector:
matchExpressions:
- key: string
operator: string
values:
- string
matchLabels:
string: string
machineSelectorFiles:
- fileSources:
- configmap:
defaultPermissions: string
items:
- dynamic: false
hash: string
key: string
path: string
permissions: string
name: string
secret:
defaultPermissions: string
items:
- dynamic: false
hash: string
key: string
path: string
permissions: string
name: string
machineLabelSelector:
matchExpressions:
- key: string
operator: string
values:
- string
matchLabels:
string: string
networking:
stackPreference: string
registries:
configs:
- authConfigSecretName: string
caBundle: string
hostname: string
insecure: false
tlsSecretName: string
mirrors:
- endpoints:
- string
hostname: string
rewrites:
string: string
rotateCertificates:
generation: 0
services:
- string
upgradeStrategy:
controlPlaneConcurrency: string
controlPlaneDrainOptions:
deleteEmptyDirData: false
disableEviction: false
enabled: false
force: false
gracePeriod: 0
ignoreDaemonSets: false
ignoreErrors: false
skipWaitForDeleteTimeoutSeconds: 0
timeout: 0
workerConcurrency: string
workerDrainOptions:
deleteEmptyDirData: false
disableEviction: false
enabled: false
force: false
gracePeriod: 0
ignoreDaemonSets: false
ignoreErrors: false
skipWaitForDeleteTimeoutSeconds: 0
timeout: 0
ClusterV2 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 ClusterV2 resource accepts the following input properties:
- Kubernetes
Version string - The RKE2 or K3s version for the cluster.
- Agent
Env List<ClusterVars V2Agent Env Var> - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - Annotations Dictionary<string, string>
- Annotations for the Cluster.
- Cloud
Credential stringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- Cluster
Agent List<ClusterDeployment Customizations V2Cluster Agent Deployment Customization> - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - Default
Cluster stringRole For Project Members - Default cluster role for project members.
- Default
Pod stringSecurity Admission Configuration Template Name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- Enable
Network boolPolicy - Enable k8s network policy on the cluster.
- Fleet
Agent List<ClusterDeployment Customizations V2Fleet Agent Deployment Customization> - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - Fleet
Namespace string - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- Labels Dictionary<string, string>
- Labels for the Cluster.
- Local
Auth ClusterEndpoint V2Local Auth Endpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- Name string
- The name of the cluster.
- Rke
Config ClusterV2Rke Config - The RKE configuration for the cluster.
- Kubernetes
Version string - The RKE2 or K3s version for the cluster.
- Agent
Env []ClusterVars V2Agent Env Var Args - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - Annotations map[string]string
- Annotations for the Cluster.
- Cloud
Credential stringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- Cluster
Agent []ClusterDeployment Customizations V2Cluster Agent Deployment Customization Args - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - Default
Cluster stringRole For Project Members - Default cluster role for project members.
- Default
Pod stringSecurity Admission Configuration Template Name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- Enable
Network boolPolicy - Enable k8s network policy on the cluster.
- Fleet
Agent []ClusterDeployment Customizations V2Fleet Agent Deployment Customization Args - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - Fleet
Namespace string - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- Labels map[string]string
- Labels for the Cluster.
- Local
Auth ClusterEndpoint V2Local Auth Endpoint Args - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- Name string
- The name of the cluster.
- Rke
Config ClusterV2Rke Config Args - The RKE configuration for the cluster.
- kubernetes
Version String - The RKE2 or K3s version for the cluster.
- agent
Env List<ClusterVars V2Agent Env Var> - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - annotations Map<String,String>
- Annotations for the Cluster.
- cloud
Credential StringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- cluster
Agent List<ClusterDeployment Customizations V2Cluster Agent Deployment Customization> - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - default
Cluster StringRole For Project Members - Default cluster role for project members.
- default
Pod StringSecurity Admission Configuration Template Name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- enable
Network BooleanPolicy - Enable k8s network policy on the cluster.
- fleet
Agent List<ClusterDeployment Customizations V2Fleet Agent Deployment Customization> - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - fleet
Namespace String - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- labels Map<String,String>
- Labels for the Cluster.
- local
Auth ClusterEndpoint V2Local Auth Endpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- name String
- The name of the cluster.
- rke
Config ClusterV2Rke Config - The RKE configuration for the cluster.
- kubernetes
Version string - The RKE2 or K3s version for the cluster.
- agent
Env ClusterVars V2Agent Env Var[] - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - annotations {[key: string]: string}
- Annotations for the Cluster.
- cloud
Credential stringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- cluster
Agent ClusterDeployment Customizations V2Cluster Agent Deployment Customization[] - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - default
Cluster stringRole For Project Members - Default cluster role for project members.
- default
Pod stringSecurity Admission Configuration Template Name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- enable
Network booleanPolicy - Enable k8s network policy on the cluster.
- fleet
Agent ClusterDeployment Customizations V2Fleet Agent Deployment Customization[] - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - fleet
Namespace string - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- labels {[key: string]: string}
- Labels for the Cluster.
- local
Auth ClusterEndpoint V2Local Auth Endpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- name string
- The name of the cluster.
- rke
Config ClusterV2Rke Config - The RKE configuration for the cluster.
- kubernetes_
version str - The RKE2 or K3s version for the cluster.
- agent_
env_ Sequence[Clustervars V2Agent Env Var Args] - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - annotations Mapping[str, str]
- Annotations for the Cluster.
- cloud_
credential_ strsecret_ name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- cluster_
agent_ Sequence[Clusterdeployment_ customizations V2Cluster Agent Deployment Customization Args] - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - default_
cluster_ strrole_ for_ project_ members - Default cluster role for project members.
- default_
pod_ strsecurity_ admission_ configuration_ template_ name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- enable_
network_ boolpolicy - Enable k8s network policy on the cluster.
- fleet_
agent_ Sequence[Clusterdeployment_ customizations V2Fleet Agent Deployment Customization Args] - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - fleet_
namespace str - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- labels Mapping[str, str]
- Labels for the Cluster.
- local_
auth_ Clusterendpoint V2Local Auth Endpoint Args - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- name str
- The name of the cluster.
- rke_
config ClusterV2Rke Config Args - The RKE configuration for the cluster.
- kubernetes
Version String - The RKE2 or K3s version for the cluster.
- agent
Env List<Property Map>Vars - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - annotations Map<String>
- Annotations for the Cluster.
- cloud
Credential StringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- cluster
Agent List<Property Map>Deployment Customizations - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - default
Cluster StringRole For Project Members - Default cluster role for project members.
- default
Pod StringSecurity Admission Configuration Template Name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- enable
Network BooleanPolicy - Enable k8s network policy on the cluster.
- fleet
Agent List<Property Map>Deployment Customizations - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - fleet
Namespace String - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- labels Map<String>
- Labels for the Cluster.
- local
Auth Property MapEndpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- name String
- The name of the cluster.
- rke
Config Property Map - The RKE configuration for the cluster.
Outputs
All input properties are implicitly available as output properties. Additionally, the ClusterV2 resource produces the following output properties:
- Cluster
Registration ClusterToken V2Cluster Registration Token - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- Cluster
V1Id string - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - Id string
- The provider-assigned unique ID for this managed resource.
- Kube
Config string - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - Resource
Version string - (Computed, string) Cluster's k8s resource version.
- Cluster
Registration ClusterToken V2Cluster Registration Token - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- Cluster
V1Id string - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - Id string
- The provider-assigned unique ID for this managed resource.
- Kube
Config string - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - Resource
Version string - (Computed, string) Cluster's k8s resource version.
- cluster
Registration ClusterToken V2Cluster Registration Token - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- cluster
V1Id String - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - id String
- The provider-assigned unique ID for this managed resource.
- kube
Config String - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - resource
Version String - (Computed, string) Cluster's k8s resource version.
- cluster
Registration ClusterToken V2Cluster Registration Token - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- cluster
V1Id string - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - id string
- The provider-assigned unique ID for this managed resource.
- kube
Config string - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - resource
Version string - (Computed, string) Cluster's k8s resource version.
- cluster_
registration_ Clustertoken V2Cluster Registration Token - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- cluster_
v1_ strid - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - id str
- The provider-assigned unique ID for this managed resource.
- kube_
config str - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - resource_
version str - (Computed, string) Cluster's k8s resource version.
- cluster
Registration Property MapToken - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- cluster
V1Id String - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - id String
- The provider-assigned unique ID for this managed resource.
- kube
Config String - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - resource
Version String - (Computed, string) Cluster's k8s resource version.
Look up Existing ClusterV2 Resource
Get an existing ClusterV2 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?: ClusterV2State, opts?: CustomResourceOptions): ClusterV2@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
agent_env_vars: Optional[Sequence[ClusterV2AgentEnvVarArgs]] = None,
annotations: Optional[Mapping[str, str]] = None,
cloud_credential_secret_name: Optional[str] = None,
cluster_agent_deployment_customizations: Optional[Sequence[ClusterV2ClusterAgentDeploymentCustomizationArgs]] = None,
cluster_registration_token: Optional[ClusterV2ClusterRegistrationTokenArgs] = None,
cluster_v1_id: Optional[str] = None,
default_cluster_role_for_project_members: Optional[str] = None,
default_pod_security_admission_configuration_template_name: Optional[str] = None,
enable_network_policy: Optional[bool] = None,
fleet_agent_deployment_customizations: Optional[Sequence[ClusterV2FleetAgentDeploymentCustomizationArgs]] = None,
fleet_namespace: Optional[str] = None,
kube_config: Optional[str] = None,
kubernetes_version: Optional[str] = None,
labels: Optional[Mapping[str, str]] = None,
local_auth_endpoint: Optional[ClusterV2LocalAuthEndpointArgs] = None,
name: Optional[str] = None,
resource_version: Optional[str] = None,
rke_config: Optional[ClusterV2RkeConfigArgs] = None) -> ClusterV2func GetClusterV2(ctx *Context, name string, id IDInput, state *ClusterV2State, opts ...ResourceOption) (*ClusterV2, error)public static ClusterV2 Get(string name, Input<string> id, ClusterV2State? state, CustomResourceOptions? opts = null)public static ClusterV2 get(String name, Output<String> id, ClusterV2State state, CustomResourceOptions options)resources: _: type: rancher2:ClusterV2 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.
- Agent
Env List<ClusterVars V2Agent Env Var> - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - Annotations Dictionary<string, string>
- Annotations for the Cluster.
- Cloud
Credential stringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- Cluster
Agent List<ClusterDeployment Customizations V2Cluster Agent Deployment Customization> - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - Cluster
Registration ClusterToken V2Cluster Registration Token - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- Cluster
V1Id string - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - Default
Cluster stringRole For Project Members - Default cluster role for project members.
- Default
Pod stringSecurity Admission Configuration Template Name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- Enable
Network boolPolicy - Enable k8s network policy on the cluster.
- Fleet
Agent List<ClusterDeployment Customizations V2Fleet Agent Deployment Customization> - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - Fleet
Namespace string - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- Kube
Config string - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - Kubernetes
Version string - The RKE2 or K3s version for the cluster.
- Labels Dictionary<string, string>
- Labels for the Cluster.
- Local
Auth ClusterEndpoint V2Local Auth Endpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- Name string
- The name of the cluster.
- Resource
Version string - (Computed, string) Cluster's k8s resource version.
- Rke
Config ClusterV2Rke Config - The RKE configuration for the cluster.
- Agent
Env []ClusterVars V2Agent Env Var Args - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - Annotations map[string]string
- Annotations for the Cluster.
- Cloud
Credential stringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- Cluster
Agent []ClusterDeployment Customizations V2Cluster Agent Deployment Customization Args - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - Cluster
Registration ClusterToken V2Cluster Registration Token Args - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- Cluster
V1Id string - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - Default
Cluster stringRole For Project Members - Default cluster role for project members.
- Default
Pod stringSecurity Admission Configuration Template Name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- Enable
Network boolPolicy - Enable k8s network policy on the cluster.
- Fleet
Agent []ClusterDeployment Customizations V2Fleet Agent Deployment Customization Args - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - Fleet
Namespace string - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- Kube
Config string - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - Kubernetes
Version string - The RKE2 or K3s version for the cluster.
- Labels map[string]string
- Labels for the Cluster.
- Local
Auth ClusterEndpoint V2Local Auth Endpoint Args - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- Name string
- The name of the cluster.
- Resource
Version string - (Computed, string) Cluster's k8s resource version.
- Rke
Config ClusterV2Rke Config Args - The RKE configuration for the cluster.
- agent
Env List<ClusterVars V2Agent Env Var> - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - annotations Map<String,String>
- Annotations for the Cluster.
- cloud
Credential StringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- cluster
Agent List<ClusterDeployment Customizations V2Cluster Agent Deployment Customization> - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - cluster
Registration ClusterToken V2Cluster Registration Token - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- cluster
V1Id String - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - default
Cluster StringRole For Project Members - Default cluster role for project members.
- default
Pod StringSecurity Admission Configuration Template Name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- enable
Network BooleanPolicy - Enable k8s network policy on the cluster.
- fleet
Agent List<ClusterDeployment Customizations V2Fleet Agent Deployment Customization> - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - fleet
Namespace String - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- kube
Config String - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - kubernetes
Version String - The RKE2 or K3s version for the cluster.
- labels Map<String,String>
- Labels for the Cluster.
- local
Auth ClusterEndpoint V2Local Auth Endpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- name String
- The name of the cluster.
- resource
Version String - (Computed, string) Cluster's k8s resource version.
- rke
Config ClusterV2Rke Config - The RKE configuration for the cluster.
- agent
Env ClusterVars V2Agent Env Var[] - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - annotations {[key: string]: string}
- Annotations for the Cluster.
- cloud
Credential stringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- cluster
Agent ClusterDeployment Customizations V2Cluster Agent Deployment Customization[] - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - cluster
Registration ClusterToken V2Cluster Registration Token - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- cluster
V1Id string - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - default
Cluster stringRole For Project Members - Default cluster role for project members.
- default
Pod stringSecurity Admission Configuration Template Name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- enable
Network booleanPolicy - Enable k8s network policy on the cluster.
- fleet
Agent ClusterDeployment Customizations V2Fleet Agent Deployment Customization[] - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - fleet
Namespace string - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- kube
Config string - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - kubernetes
Version string - The RKE2 or K3s version for the cluster.
- labels {[key: string]: string}
- Labels for the Cluster.
- local
Auth ClusterEndpoint V2Local Auth Endpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- name string
- The name of the cluster.
- resource
Version string - (Computed, string) Cluster's k8s resource version.
- rke
Config ClusterV2Rke Config - The RKE configuration for the cluster.
- agent_
env_ Sequence[Clustervars V2Agent Env Var Args] - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - annotations Mapping[str, str]
- Annotations for the Cluster.
- cloud_
credential_ strsecret_ name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- cluster_
agent_ Sequence[Clusterdeployment_ customizations V2Cluster Agent Deployment Customization Args] - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - cluster_
registration_ Clustertoken V2Cluster Registration Token Args - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- cluster_
v1_ strid - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - default_
cluster_ strrole_ for_ project_ members - Default cluster role for project members.
- default_
pod_ strsecurity_ admission_ configuration_ template_ name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- enable_
network_ boolpolicy - Enable k8s network policy on the cluster.
- fleet_
agent_ Sequence[Clusterdeployment_ customizations V2Fleet Agent Deployment Customization Args] - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - fleet_
namespace str - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- kube_
config str - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - kubernetes_
version str - The RKE2 or K3s version for the cluster.
- labels Mapping[str, str]
- Labels for the Cluster.
- local_
auth_ Clusterendpoint V2Local Auth Endpoint Args - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- name str
- The name of the cluster.
- resource_
version str - (Computed, string) Cluster's k8s resource version.
- rke_
config ClusterV2Rke Config Args - The RKE configuration for the cluster.
- agent
Env List<Property Map>Vars - Agent env vars is a list of additional environment variables to be appended to the
cattle-cluster-agentandfleet-agentdeployment, and the plan for the system upgrade controller to upgrade nodes. - annotations Map<String>
- Annotations for the Cluster.
- cloud
Credential StringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- cluster
Agent List<Property Map>Deployment Customizations - Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
cattle-cluster-agentdeployment. This argument is available in Rancher v2.7.5 and above. - cluster
Registration Property MapToken - (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster.
- cluster
V1Id String - (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with
rancher2_sync). - default
Cluster StringRole For Project Members - Default cluster role for project members.
- default
Pod StringSecurity Admission Configuration Template Name - The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to Rancher Documentation. The argument is available in Rancher v2.7.2 and above.
- enable
Network BooleanPolicy - Enable k8s network policy on the cluster.
- fleet
Agent List<Property Map>Deployment Customizations - Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the
fleet-agentdeployment. The argument is available in Rancher v2.7.5 and above. - fleet
Namespace String - Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value.
- kube
Config String - (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has
local_auth_endpointenabled, the kube_config will not be available until the cluster isconnected. - kubernetes
Version String - The RKE2 or K3s version for the cluster.
- labels Map<String>
- Labels for the Cluster.
- local
Auth Property MapEndpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- name String
- The name of the cluster.
- resource
Version String - (Computed, string) Cluster's k8s resource version.
- rke
Config Property Map - The RKE configuration for the cluster.
Supporting Types
ClusterV2AgentEnvVar, ClusterV2AgentEnvVarArgs
ClusterV2ClusterAgentDeploymentCustomization, ClusterV2ClusterAgentDeploymentCustomizationArgs
- Append
Tolerations List<ClusterV2Cluster Agent Deployment Customization Append Toleration> - User defined tolerations to append to agent
- Override
Affinity string - User defined affinity to override default agent affinity
- Override
Resource List<ClusterRequirements V2Cluster Agent Deployment Customization Override Resource Requirement> - User defined resource requirements to set on the agent
- Scheduling
Customizations List<ClusterV2Cluster Agent Deployment Customization Scheduling Customization> - User defined scheduling customization for the cattle cluster agent
- Append
Tolerations []ClusterV2Cluster Agent Deployment Customization Append Toleration - User defined tolerations to append to agent
- Override
Affinity string - User defined affinity to override default agent affinity
- Override
Resource []ClusterRequirements V2Cluster Agent Deployment Customization Override Resource Requirement - User defined resource requirements to set on the agent
- Scheduling
Customizations []ClusterV2Cluster Agent Deployment Customization Scheduling Customization - User defined scheduling customization for the cattle cluster agent
- append
Tolerations List<ClusterV2Cluster Agent Deployment Customization Append Toleration> - User defined tolerations to append to agent
- override
Affinity String - User defined affinity to override default agent affinity
- override
Resource List<ClusterRequirements V2Cluster Agent Deployment Customization Override Resource Requirement> - User defined resource requirements to set on the agent
- scheduling
Customizations List<ClusterV2Cluster Agent Deployment Customization Scheduling Customization> - User defined scheduling customization for the cattle cluster agent
- append
Tolerations ClusterV2Cluster Agent Deployment Customization Append Toleration[] - User defined tolerations to append to agent
- override
Affinity string - User defined affinity to override default agent affinity
- override
Resource ClusterRequirements V2Cluster Agent Deployment Customization Override Resource Requirement[] - User defined resource requirements to set on the agent
- scheduling
Customizations ClusterV2Cluster Agent Deployment Customization Scheduling Customization[] - User defined scheduling customization for the cattle cluster agent
- append_
tolerations Sequence[ClusterV2Cluster Agent Deployment Customization Append Toleration] - User defined tolerations to append to agent
- override_
affinity str - User defined affinity to override default agent affinity
- override_
resource_ Sequence[Clusterrequirements V2Cluster Agent Deployment Customization Override Resource Requirement] - User defined resource requirements to set on the agent
- scheduling_
customizations Sequence[ClusterV2Cluster Agent Deployment Customization Scheduling Customization] - User defined scheduling customization for the cattle cluster agent
- append
Tolerations List<Property Map> - User defined tolerations to append to agent
- override
Affinity String - User defined affinity to override default agent affinity
- override
Resource List<Property Map>Requirements - User defined resource requirements to set on the agent
- scheduling
Customizations List<Property Map> - User defined scheduling customization for the cattle cluster agent
ClusterV2ClusterAgentDeploymentCustomizationAppendToleration, ClusterV2ClusterAgentDeploymentCustomizationAppendTolerationArgs
- Key string
- Key is the name of the key of the item to retrieve.
- Effect string
- The taint effect. Default:
\"NoExecute\". - Operator string
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- Seconds int
- The number of seconds a pod will stay bound to a node with a matching taint.
- Value string
- The taint value.
- Key string
- Key is the name of the key of the item to retrieve.
- Effect string
- The taint effect. Default:
\"NoExecute\". - Operator string
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- Seconds int
- The number of seconds a pod will stay bound to a node with a matching taint.
- Value string
- The taint value.
- key String
- Key is the name of the key of the item to retrieve.
- effect String
- The taint effect. Default:
\"NoExecute\". - operator String
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- seconds Integer
- The number of seconds a pod will stay bound to a node with a matching taint.
- value String
- The taint value.
- key string
- Key is the name of the key of the item to retrieve.
- effect string
- The taint effect. Default:
\"NoExecute\". - operator string
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- seconds number
- The number of seconds a pod will stay bound to a node with a matching taint.
- value string
- The taint value.
- key str
- Key is the name of the key of the item to retrieve.
- effect str
- The taint effect. Default:
\"NoExecute\". - operator str
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- seconds int
- The number of seconds a pod will stay bound to a node with a matching taint.
- value str
- The taint value.
- key String
- Key is the name of the key of the item to retrieve.
- effect String
- The taint effect. Default:
\"NoExecute\". - operator String
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- seconds Number
- The number of seconds a pod will stay bound to a node with a matching taint.
- value String
- The taint value.
ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirement, ClusterV2ClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs
- Cpu
Limit string - The maximum CPU limit for agent
- Cpu
Request string - The minimum CPU required for agent
- Memory
Limit string - The maximum memory limit for agent
- Memory
Request string - The minimum memory required for agent
- Cpu
Limit string - The maximum CPU limit for agent
- Cpu
Request string - The minimum CPU required for agent
- Memory
Limit string - The maximum memory limit for agent
- Memory
Request string - The minimum memory required for agent
- cpu
Limit String - The maximum CPU limit for agent
- cpu
Request String - The minimum CPU required for agent
- memory
Limit String - The maximum memory limit for agent
- memory
Request String - The minimum memory required for agent
- cpu
Limit string - The maximum CPU limit for agent
- cpu
Request string - The minimum CPU required for agent
- memory
Limit string - The maximum memory limit for agent
- memory
Request string - The minimum memory required for agent
- cpu_
limit str - The maximum CPU limit for agent
- cpu_
request str - The minimum CPU required for agent
- memory_
limit str - The maximum memory limit for agent
- memory_
request str - The minimum memory required for agent
- cpu
Limit String - The maximum CPU limit for agent
- cpu
Request String - The minimum CPU required for agent
- memory
Limit String - The maximum memory limit for agent
- memory
Request String - The minimum memory required for agent
ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomization, ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationArgs
- Pod
Disruption List<ClusterBudgets V2Cluster Agent Deployment Customization Scheduling Customization Pod Disruption Budget> - The Pod Disruption Budget created for the cattle cluster agent
- Priority
Classes List<ClusterV2Cluster Agent Deployment Customization Scheduling Customization Priority Class> - The Priority Class created for the cattle cluster agent
- Pod
Disruption []ClusterBudgets V2Cluster Agent Deployment Customization Scheduling Customization Pod Disruption Budget - The Pod Disruption Budget created for the cattle cluster agent
- Priority
Classes []ClusterV2Cluster Agent Deployment Customization Scheduling Customization Priority Class - The Priority Class created for the cattle cluster agent
- pod
Disruption List<ClusterBudgets V2Cluster Agent Deployment Customization Scheduling Customization Pod Disruption Budget> - The Pod Disruption Budget created for the cattle cluster agent
- priority
Classes List<ClusterV2Cluster Agent Deployment Customization Scheduling Customization Priority Class> - The Priority Class created for the cattle cluster agent
- pod
Disruption ClusterBudgets V2Cluster Agent Deployment Customization Scheduling Customization Pod Disruption Budget[] - The Pod Disruption Budget created for the cattle cluster agent
- priority
Classes ClusterV2Cluster Agent Deployment Customization Scheduling Customization Priority Class[] - The Priority Class created for the cattle cluster agent
- pod_
disruption_ Sequence[Clusterbudgets V2Cluster Agent Deployment Customization Scheduling Customization Pod Disruption Budget] - The Pod Disruption Budget created for the cattle cluster agent
- priority_
classes Sequence[ClusterV2Cluster Agent Deployment Customization Scheduling Customization Priority Class] - The Priority Class created for the cattle cluster agent
- pod
Disruption List<Property Map>Budgets - The Pod Disruption Budget created for the cattle cluster agent
- priority
Classes List<Property Map> - The Priority Class created for the cattle cluster agent
ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudget, ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPodDisruptionBudgetArgs
- string
- The maximum number of cattle cluster agent replicas that can be down at a given time.
- string
- The minimum number of cattle cluster agent replicas that must be running at a given time.
- string
- The maximum number of cattle cluster agent replicas that can be down at a given time.
- string
- The minimum number of cattle cluster agent replicas that must be running at a given time.
- String
- The maximum number of cattle cluster agent replicas that can be down at a given time.
- String
- The minimum number of cattle cluster agent replicas that must be running at a given time.
- string
- The maximum number of cattle cluster agent replicas that can be down at a given time.
- string
- The minimum number of cattle cluster agent replicas that must be running at a given time.
- str
- The maximum number of cattle cluster agent replicas that can be down at a given time.
- min_
available str - The minimum number of cattle cluster agent replicas that must be running at a given time.
- String
- The maximum number of cattle cluster agent replicas that can be down at a given time.
- String
- The minimum number of cattle cluster agent replicas that must be running at a given time.
ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClass, ClusterV2ClusterAgentDeploymentCustomizationSchedulingCustomizationPriorityClassArgs
- Value int
- The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
- Preemption
Policy string - The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'
- Value int
- The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
- Preemption
Policy string - The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'
- value Integer
- The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
- preemption
Policy String - The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'
- value number
- The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
- preemption
Policy string - The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'
- value int
- The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
- preemption_
policy str - The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'
- value Number
- The priority value for the cattle cluster agent. Must be between negative 1 billion and 1 billion.
- preemption
Policy String - The preemption behavior for the cattle cluster agent. Must be either 'PreemptLowerPriority' or 'Never'
ClusterV2ClusterRegistrationToken, ClusterV2ClusterRegistrationTokenArgs
- Annotations Dictionary<string, string>
- Annotations for the Cluster.
- Cluster
Id string - Cluster ID.
- Command string
- Command to execute in an imported k8s cluster.
- Id string
- (Computed, string) The ID of the resource.
- Insecure
Command string - Insecure command to execute in an imported k8s cluster.
- Insecure
Node stringCommand - Insecure node command to execute in an imported k8s cluster.
- Insecure
Windows stringNode Command - Insecure windows command to execute in an imported k8s cluster.
- Labels Dictionary<string, string>
- Labels for the Cluster.
- Manifest
Url string - K8s manifest url to execute with
kubectlto import an existing k8s cluster. - Name string
- The name of the cluster.
- Node
Command string - Node command to execute in Linux nodes for custom k8s cluster.
- Token string
- Token for cluster registration token object.
- Windows
Node stringCommand - Node command to execute in Windows nodes for custom k8s cluster.
- Annotations map[string]string
- Annotations for the Cluster.
- Cluster
Id string - Cluster ID.
- Command string
- Command to execute in an imported k8s cluster.
- Id string
- (Computed, string) The ID of the resource.
- Insecure
Command string - Insecure command to execute in an imported k8s cluster.
- Insecure
Node stringCommand - Insecure node command to execute in an imported k8s cluster.
- Insecure
Windows stringNode Command - Insecure windows command to execute in an imported k8s cluster.
- Labels map[string]string
- Labels for the Cluster.
- Manifest
Url string - K8s manifest url to execute with
kubectlto import an existing k8s cluster. - Name string
- The name of the cluster.
- Node
Command string - Node command to execute in Linux nodes for custom k8s cluster.
- Token string
- Token for cluster registration token object.
- Windows
Node stringCommand - Node command to execute in Windows nodes for custom k8s cluster.
- annotations Map<String,String>
- Annotations for the Cluster.
- cluster
Id String - Cluster ID.
- command String
- Command to execute in an imported k8s cluster.
- id String
- (Computed, string) The ID of the resource.
- insecure
Command String - Insecure command to execute in an imported k8s cluster.
- insecure
Node StringCommand - Insecure node command to execute in an imported k8s cluster.
- insecure
Windows StringNode Command - Insecure windows command to execute in an imported k8s cluster.
- labels Map<String,String>
- Labels for the Cluster.
- manifest
Url String - K8s manifest url to execute with
kubectlto import an existing k8s cluster. - name String
- The name of the cluster.
- node
Command String - Node command to execute in Linux nodes for custom k8s cluster.
- token String
- Token for cluster registration token object.
- windows
Node StringCommand - Node command to execute in Windows nodes for custom k8s cluster.
- annotations {[key: string]: string}
- Annotations for the Cluster.
- cluster
Id string - Cluster ID.
- command string
- Command to execute in an imported k8s cluster.
- id string
- (Computed, string) The ID of the resource.
- insecure
Command string - Insecure command to execute in an imported k8s cluster.
- insecure
Node stringCommand - Insecure node command to execute in an imported k8s cluster.
- insecure
Windows stringNode Command - Insecure windows command to execute in an imported k8s cluster.
- labels {[key: string]: string}
- Labels for the Cluster.
- manifest
Url string - K8s manifest url to execute with
kubectlto import an existing k8s cluster. - name string
- The name of the cluster.
- node
Command string - Node command to execute in Linux nodes for custom k8s cluster.
- token string
- Token for cluster registration token object.
- windows
Node stringCommand - Node command to execute in Windows nodes for custom k8s cluster.
- annotations Mapping[str, str]
- Annotations for the Cluster.
- cluster_
id str - Cluster ID.
- command str
- Command to execute in an imported k8s cluster.
- id str
- (Computed, string) The ID of the resource.
- insecure_
command str - Insecure command to execute in an imported k8s cluster.
- insecure_
node_ strcommand - Insecure node command to execute in an imported k8s cluster.
- insecure_
windows_ strnode_ command - Insecure windows command to execute in an imported k8s cluster.
- labels Mapping[str, str]
- Labels for the Cluster.
- manifest_
url str - K8s manifest url to execute with
kubectlto import an existing k8s cluster. - name str
- The name of the cluster.
- node_
command str - Node command to execute in Linux nodes for custom k8s cluster.
- token str
- Token for cluster registration token object.
- windows_
node_ strcommand - Node command to execute in Windows nodes for custom k8s cluster.
- annotations Map<String>
- Annotations for the Cluster.
- cluster
Id String - Cluster ID.
- command String
- Command to execute in an imported k8s cluster.
- id String
- (Computed, string) The ID of the resource.
- insecure
Command String - Insecure command to execute in an imported k8s cluster.
- insecure
Node StringCommand - Insecure node command to execute in an imported k8s cluster.
- insecure
Windows StringNode Command - Insecure windows command to execute in an imported k8s cluster.
- labels Map<String>
- Labels for the Cluster.
- manifest
Url String - K8s manifest url to execute with
kubectlto import an existing k8s cluster. - name String
- The name of the cluster.
- node
Command String - Node command to execute in Linux nodes for custom k8s cluster.
- token String
- Token for cluster registration token object.
- windows
Node StringCommand - Node command to execute in Windows nodes for custom k8s cluster.
ClusterV2FleetAgentDeploymentCustomization, ClusterV2FleetAgentDeploymentCustomizationArgs
- Append
Tolerations List<ClusterV2Fleet Agent Deployment Customization Append Toleration> - User defined tolerations to append to agent
- Override
Affinity string - User defined affinity to override default agent affinity
- Override
Resource List<ClusterRequirements V2Fleet Agent Deployment Customization Override Resource Requirement> - User defined resource requirements to set on the agent
- Append
Tolerations []ClusterV2Fleet Agent Deployment Customization Append Toleration - User defined tolerations to append to agent
- Override
Affinity string - User defined affinity to override default agent affinity
- Override
Resource []ClusterRequirements V2Fleet Agent Deployment Customization Override Resource Requirement - User defined resource requirements to set on the agent
- append
Tolerations List<ClusterV2Fleet Agent Deployment Customization Append Toleration> - User defined tolerations to append to agent
- override
Affinity String - User defined affinity to override default agent affinity
- override
Resource List<ClusterRequirements V2Fleet Agent Deployment Customization Override Resource Requirement> - User defined resource requirements to set on the agent
- append
Tolerations ClusterV2Fleet Agent Deployment Customization Append Toleration[] - User defined tolerations to append to agent
- override
Affinity string - User defined affinity to override default agent affinity
- override
Resource ClusterRequirements V2Fleet Agent Deployment Customization Override Resource Requirement[] - User defined resource requirements to set on the agent
- append_
tolerations Sequence[ClusterV2Fleet Agent Deployment Customization Append Toleration] - User defined tolerations to append to agent
- override_
affinity str - User defined affinity to override default agent affinity
- override_
resource_ Sequence[Clusterrequirements V2Fleet Agent Deployment Customization Override Resource Requirement] - User defined resource requirements to set on the agent
- append
Tolerations List<Property Map> - User defined tolerations to append to agent
- override
Affinity String - User defined affinity to override default agent affinity
- override
Resource List<Property Map>Requirements - User defined resource requirements to set on the agent
ClusterV2FleetAgentDeploymentCustomizationAppendToleration, ClusterV2FleetAgentDeploymentCustomizationAppendTolerationArgs
- Key string
- Key is the name of the key of the item to retrieve.
- Effect string
- The taint effect. Default:
\"NoExecute\". - Operator string
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- Seconds int
- The number of seconds a pod will stay bound to a node with a matching taint.
- Value string
- The taint value.
- Key string
- Key is the name of the key of the item to retrieve.
- Effect string
- The taint effect. Default:
\"NoExecute\". - Operator string
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- Seconds int
- The number of seconds a pod will stay bound to a node with a matching taint.
- Value string
- The taint value.
- key String
- Key is the name of the key of the item to retrieve.
- effect String
- The taint effect. Default:
\"NoExecute\". - operator String
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- seconds Integer
- The number of seconds a pod will stay bound to a node with a matching taint.
- value String
- The taint value.
- key string
- Key is the name of the key of the item to retrieve.
- effect string
- The taint effect. Default:
\"NoExecute\". - operator string
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- seconds number
- The number of seconds a pod will stay bound to a node with a matching taint.
- value string
- The taint value.
- key str
- Key is the name of the key of the item to retrieve.
- effect str
- The taint effect. Default:
\"NoExecute\". - operator str
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- seconds int
- The number of seconds a pod will stay bound to a node with a matching taint.
- value str
- The taint value.
- key String
- Key is the name of the key of the item to retrieve.
- effect String
- The taint effect. Default:
\"NoExecute\". - operator String
- Operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- seconds Number
- The number of seconds a pod will stay bound to a node with a matching taint.
- value String
- The taint value.
ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirement, ClusterV2FleetAgentDeploymentCustomizationOverrideResourceRequirementArgs
- Cpu
Limit string - The maximum CPU limit for agent
- Cpu
Request string - The minimum CPU required for agent
- Memory
Limit string - The maximum memory limit for agent
- Memory
Request string - The minimum memory required for agent
- Cpu
Limit string - The maximum CPU limit for agent
- Cpu
Request string - The minimum CPU required for agent
- Memory
Limit string - The maximum memory limit for agent
- Memory
Request string - The minimum memory required for agent
- cpu
Limit String - The maximum CPU limit for agent
- cpu
Request String - The minimum CPU required for agent
- memory
Limit String - The maximum memory limit for agent
- memory
Request String - The minimum memory required for agent
- cpu
Limit string - The maximum CPU limit for agent
- cpu
Request string - The minimum CPU required for agent
- memory
Limit string - The maximum memory limit for agent
- memory
Request string - The minimum memory required for agent
- cpu_
limit str - The maximum CPU limit for agent
- cpu_
request str - The minimum CPU required for agent
- memory_
limit str - The maximum memory limit for agent
- memory_
request str - The minimum memory required for agent
- cpu
Limit String - The maximum CPU limit for agent
- cpu
Request String - The minimum CPU required for agent
- memory
Limit String - The maximum memory limit for agent
- memory
Request String - The minimum memory required for agent
ClusterV2LocalAuthEndpoint, ClusterV2LocalAuthEndpointArgs
- Ca
Certs string - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- Enabled bool
- If
enabledis set to true, nodes will be drained before upgrade. - Fqdn string
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
- Ca
Certs string - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- Enabled bool
- If
enabledis set to true, nodes will be drained before upgrade. - Fqdn string
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
- ca
Certs String - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- enabled Boolean
- If
enabledis set to true, nodes will be drained before upgrade. - fqdn String
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
- ca
Certs string - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- enabled boolean
- If
enabledis set to true, nodes will be drained before upgrade. - fqdn string
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
- ca_
certs str - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- enabled bool
- If
enabledis set to true, nodes will be drained before upgrade. - fqdn str
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
- ca
Certs String - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- enabled Boolean
- If
enabledis set to true, nodes will be drained before upgrade. - fqdn String
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
ClusterV2RkeConfig, ClusterV2RkeConfigArgs
- Additional
Manifest string - Cluster V2 additional manifest
- Chart
Values string - Cluster V2 chart values. It should be in YAML format
- Data
Directories List<ClusterV2Rke Config Data Directory> - Cluster V2 data directories
- Etcd
Cluster
V2Rke Config Etcd - Cluster V2 etcd
- Etcd
Snapshot ClusterCreate V2Rke Config Etcd Snapshot Create - Cluster V2 etcd snapshot create
- Etcd
Snapshot ClusterRestore V2Rke Config Etcd Snapshot Restore - Cluster V2 etcd snapshot restore
- Local
Auth ClusterEndpoint V2Rke Config Local Auth Endpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- Machine
Global stringConfig - Cluster V2 machine global config
- Machine
Pool List<ClusterDefaults V2Rke Config Machine Pool Default> - Default values for machine pool configurations if unset
- Machine
Pools List<ClusterV2Rke Config Machine Pool> - Cluster V2 machine pools
- Machine
Selector List<ClusterConfigs V2Rke Config Machine Selector Config> - Cluster V2 machine selector config
- Machine
Selector List<ClusterFiles V2Rke Config Machine Selector File> - Cluster V2 machine selector files
- Networking
Cluster
V2Rke Config Networking - Cluster V2 networking
- Registries
Cluster
V2Rke Config Registries - Cluster V2 registries
- Rotate
Certificates ClusterV2Rke Config Rotate Certificates - Cluster V2 certificate rotation
- Upgrade
Strategy ClusterV2Rke Config Upgrade Strategy - Cluster V2 upgrade strategy
- Additional
Manifest string - Cluster V2 additional manifest
- Chart
Values string - Cluster V2 chart values. It should be in YAML format
- Data
Directories []ClusterV2Rke Config Data Directory - Cluster V2 data directories
- Etcd
Cluster
V2Rke Config Etcd - Cluster V2 etcd
- Etcd
Snapshot ClusterCreate V2Rke Config Etcd Snapshot Create - Cluster V2 etcd snapshot create
- Etcd
Snapshot ClusterRestore V2Rke Config Etcd Snapshot Restore - Cluster V2 etcd snapshot restore
- Local
Auth ClusterEndpoint V2Rke Config Local Auth Endpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- Machine
Global stringConfig - Cluster V2 machine global config
- Machine
Pool []ClusterDefaults V2Rke Config Machine Pool Default - Default values for machine pool configurations if unset
- Machine
Pools []ClusterV2Rke Config Machine Pool - Cluster V2 machine pools
- Machine
Selector []ClusterConfigs V2Rke Config Machine Selector Config - Cluster V2 machine selector config
- Machine
Selector []ClusterFiles V2Rke Config Machine Selector File - Cluster V2 machine selector files
- Networking
Cluster
V2Rke Config Networking - Cluster V2 networking
- Registries
Cluster
V2Rke Config Registries - Cluster V2 registries
- Rotate
Certificates ClusterV2Rke Config Rotate Certificates - Cluster V2 certificate rotation
- Upgrade
Strategy ClusterV2Rke Config Upgrade Strategy - Cluster V2 upgrade strategy
- additional
Manifest String - Cluster V2 additional manifest
- chart
Values String - Cluster V2 chart values. It should be in YAML format
- data
Directories List<ClusterV2Rke Config Data Directory> - Cluster V2 data directories
- etcd
Cluster
V2Rke Config Etcd - Cluster V2 etcd
- etcd
Snapshot ClusterCreate V2Rke Config Etcd Snapshot Create - Cluster V2 etcd snapshot create
- etcd
Snapshot ClusterRestore V2Rke Config Etcd Snapshot Restore - Cluster V2 etcd snapshot restore
- local
Auth ClusterEndpoint V2Rke Config Local Auth Endpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- machine
Global StringConfig - Cluster V2 machine global config
- machine
Pool List<ClusterDefaults V2Rke Config Machine Pool Default> - Default values for machine pool configurations if unset
- machine
Pools List<ClusterV2Rke Config Machine Pool> - Cluster V2 machine pools
- machine
Selector List<ClusterConfigs V2Rke Config Machine Selector Config> - Cluster V2 machine selector config
- machine
Selector List<ClusterFiles V2Rke Config Machine Selector File> - Cluster V2 machine selector files
- networking
Cluster
V2Rke Config Networking - Cluster V2 networking
- registries
Cluster
V2Rke Config Registries - Cluster V2 registries
- rotate
Certificates ClusterV2Rke Config Rotate Certificates - Cluster V2 certificate rotation
- upgrade
Strategy ClusterV2Rke Config Upgrade Strategy - Cluster V2 upgrade strategy
- additional
Manifest string - Cluster V2 additional manifest
- chart
Values string - Cluster V2 chart values. It should be in YAML format
- data
Directories ClusterV2Rke Config Data Directory[] - Cluster V2 data directories
- etcd
Cluster
V2Rke Config Etcd - Cluster V2 etcd
- etcd
Snapshot ClusterCreate V2Rke Config Etcd Snapshot Create - Cluster V2 etcd snapshot create
- etcd
Snapshot ClusterRestore V2Rke Config Etcd Snapshot Restore - Cluster V2 etcd snapshot restore
- local
Auth ClusterEndpoint V2Rke Config Local Auth Endpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- machine
Global stringConfig - Cluster V2 machine global config
- machine
Pool ClusterDefaults V2Rke Config Machine Pool Default[] - Default values for machine pool configurations if unset
- machine
Pools ClusterV2Rke Config Machine Pool[] - Cluster V2 machine pools
- machine
Selector ClusterConfigs V2Rke Config Machine Selector Config[] - Cluster V2 machine selector config
- machine
Selector ClusterFiles V2Rke Config Machine Selector File[] - Cluster V2 machine selector files
- networking
Cluster
V2Rke Config Networking - Cluster V2 networking
- registries
Cluster
V2Rke Config Registries - Cluster V2 registries
- rotate
Certificates ClusterV2Rke Config Rotate Certificates - Cluster V2 certificate rotation
- upgrade
Strategy ClusterV2Rke Config Upgrade Strategy - Cluster V2 upgrade strategy
- additional_
manifest str - Cluster V2 additional manifest
- chart_
values str - Cluster V2 chart values. It should be in YAML format
- data_
directories Sequence[ClusterV2Rke Config Data Directory] - Cluster V2 data directories
- etcd
Cluster
V2Rke Config Etcd - Cluster V2 etcd
- etcd_
snapshot_ Clustercreate V2Rke Config Etcd Snapshot Create - Cluster V2 etcd snapshot create
- etcd_
snapshot_ Clusterrestore V2Rke Config Etcd Snapshot Restore - Cluster V2 etcd snapshot restore
- local_
auth_ Clusterendpoint V2Rke Config Local Auth Endpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- machine_
global_ strconfig - Cluster V2 machine global config
- machine_
pool_ Sequence[Clusterdefaults V2Rke Config Machine Pool Default] - Default values for machine pool configurations if unset
- machine_
pools Sequence[ClusterV2Rke Config Machine Pool] - Cluster V2 machine pools
- machine_
selector_ Sequence[Clusterconfigs V2Rke Config Machine Selector Config] - Cluster V2 machine selector config
- machine_
selector_ Sequence[Clusterfiles V2Rke Config Machine Selector File] - Cluster V2 machine selector files
- networking
Cluster
V2Rke Config Networking - Cluster V2 networking
- registries
Cluster
V2Rke Config Registries - Cluster V2 registries
- rotate_
certificates ClusterV2Rke Config Rotate Certificates - Cluster V2 certificate rotation
- upgrade_
strategy ClusterV2Rke Config Upgrade Strategy - Cluster V2 upgrade strategy
- additional
Manifest String - Cluster V2 additional manifest
- chart
Values String - Cluster V2 chart values. It should be in YAML format
- data
Directories List<Property Map> - Cluster V2 data directories
- etcd Property Map
- Cluster V2 etcd
- etcd
Snapshot Property MapCreate - Cluster V2 etcd snapshot create
- etcd
Snapshot Property MapRestore - Cluster V2 etcd snapshot restore
- local
Auth Property MapEndpoint - Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to Rancher Documentation.
- machine
Global StringConfig - Cluster V2 machine global config
- machine
Pool List<Property Map>Defaults - Default values for machine pool configurations if unset
- machine
Pools List<Property Map> - Cluster V2 machine pools
- machine
Selector List<Property Map>Configs - Cluster V2 machine selector config
- machine
Selector List<Property Map>Files - Cluster V2 machine selector files
- networking Property Map
- Cluster V2 networking
- registries Property Map
- Cluster V2 registries
- rotate
Certificates Property Map - Cluster V2 certificate rotation
- upgrade
Strategy Property Map - Cluster V2 upgrade strategy
ClusterV2RkeConfigDataDirectory, ClusterV2RkeConfigDataDirectoryArgs
- K8s
Distro string - Desired k8s distro data directory.
- Provisioning string
- Desired provisioning data directory.
- System
Agent string - Desired System Agent data directory.
- K8s
Distro string - Desired k8s distro data directory.
- Provisioning string
- Desired provisioning data directory.
- System
Agent string - Desired System Agent data directory.
- k8s
Distro String - Desired k8s distro data directory.
- provisioning String
- Desired provisioning data directory.
- system
Agent String - Desired System Agent data directory.
- k8s
Distro string - Desired k8s distro data directory.
- provisioning string
- Desired provisioning data directory.
- system
Agent string - Desired System Agent data directory.
- k8s_
distro str - Desired k8s distro data directory.
- provisioning str
- Desired provisioning data directory.
- system_
agent str - Desired System Agent data directory.
- k8s
Distro String - Desired k8s distro data directory.
- provisioning String
- Desired provisioning data directory.
- system
Agent String - Desired System Agent data directory.
ClusterV2RkeConfigEtcd, ClusterV2RkeConfigEtcdArgs
- Disable
Snapshots bool - Disable ETCD snapshots
- S3Config
Cluster
V2Rke Config Etcd S3Config - ETCD snapshot S3 config
- Snapshot
Retention int - ETCD snapshot retention
- Snapshot
Schedule stringCron - ETCD snapshot schedule cron (e.g
"0 */5 * * *")
- Disable
Snapshots bool - Disable ETCD snapshots
- S3Config
Cluster
V2Rke Config Etcd S3Config - ETCD snapshot S3 config
- Snapshot
Retention int - ETCD snapshot retention
- Snapshot
Schedule stringCron - ETCD snapshot schedule cron (e.g
"0 */5 * * *")
- disable
Snapshots Boolean - Disable ETCD snapshots
- s3Config
Cluster
V2Rke Config Etcd S3Config - ETCD snapshot S3 config
- snapshot
Retention Integer - ETCD snapshot retention
- snapshot
Schedule StringCron - ETCD snapshot schedule cron (e.g
"0 */5 * * *")
- disable
Snapshots boolean - Disable ETCD snapshots
- s3Config
Cluster
V2Rke Config Etcd S3Config - ETCD snapshot S3 config
- snapshot
Retention number - ETCD snapshot retention
- snapshot
Schedule stringCron - ETCD snapshot schedule cron (e.g
"0 */5 * * *")
- disable_
snapshots bool - Disable ETCD snapshots
- s3_
config ClusterV2Rke Config Etcd S3Config - ETCD snapshot S3 config
- snapshot_
retention int - ETCD snapshot retention
- snapshot_
schedule_ strcron - ETCD snapshot schedule cron (e.g
"0 */5 * * *")
- disable
Snapshots Boolean - Disable ETCD snapshots
- s3Config Property Map
- ETCD snapshot S3 config
- snapshot
Retention Number - ETCD snapshot retention
- snapshot
Schedule StringCron - ETCD snapshot schedule cron (e.g
"0 */5 * * *")
ClusterV2RkeConfigEtcdS3Config, ClusterV2RkeConfigEtcdS3ConfigArgs
- Bucket string
- ETCD snapshot S3 bucket
- Endpoint string
- ETCD snapshot S3 endpoint
- Cloud
Credential stringName - ETCD snapshot S3 cloud credential name
- Endpoint
Ca string - ETCD snapshot S3 endpoint CA
- Folder string
- ETCD snapshot S3 folder
- Region string
- ETCD snapshot S3 region
- Skip
Ssl boolVerify - Disable ETCD skip ssl verify
- Bucket string
- ETCD snapshot S3 bucket
- Endpoint string
- ETCD snapshot S3 endpoint
- Cloud
Credential stringName - ETCD snapshot S3 cloud credential name
- Endpoint
Ca string - ETCD snapshot S3 endpoint CA
- Folder string
- ETCD snapshot S3 folder
- Region string
- ETCD snapshot S3 region
- Skip
Ssl boolVerify - Disable ETCD skip ssl verify
- bucket String
- ETCD snapshot S3 bucket
- endpoint String
- ETCD snapshot S3 endpoint
- cloud
Credential StringName - ETCD snapshot S3 cloud credential name
- endpoint
Ca String - ETCD snapshot S3 endpoint CA
- folder String
- ETCD snapshot S3 folder
- region String
- ETCD snapshot S3 region
- skip
Ssl BooleanVerify - Disable ETCD skip ssl verify
- bucket string
- ETCD snapshot S3 bucket
- endpoint string
- ETCD snapshot S3 endpoint
- cloud
Credential stringName - ETCD snapshot S3 cloud credential name
- endpoint
Ca string - ETCD snapshot S3 endpoint CA
- folder string
- ETCD snapshot S3 folder
- region string
- ETCD snapshot S3 region
- skip
Ssl booleanVerify - Disable ETCD skip ssl verify
- bucket str
- ETCD snapshot S3 bucket
- endpoint str
- ETCD snapshot S3 endpoint
- cloud_
credential_ strname - ETCD snapshot S3 cloud credential name
- endpoint_
ca str - ETCD snapshot S3 endpoint CA
- folder str
- ETCD snapshot S3 folder
- region str
- ETCD snapshot S3 region
- skip_
ssl_ boolverify - Disable ETCD skip ssl verify
- bucket String
- ETCD snapshot S3 bucket
- endpoint String
- ETCD snapshot S3 endpoint
- cloud
Credential StringName - ETCD snapshot S3 cloud credential name
- endpoint
Ca String - ETCD snapshot S3 endpoint CA
- folder String
- ETCD snapshot S3 folder
- region String
- ETCD snapshot S3 region
- skip
Ssl BooleanVerify - Disable ETCD skip ssl verify
ClusterV2RkeConfigEtcdSnapshotCreate, ClusterV2RkeConfigEtcdSnapshotCreateArgs
- Generation int
- ETCD generation to initiate a snapshot
- Generation int
- ETCD generation to initiate a snapshot
- generation Integer
- ETCD generation to initiate a snapshot
- generation number
- ETCD generation to initiate a snapshot
- generation int
- ETCD generation to initiate a snapshot
- generation Number
- ETCD generation to initiate a snapshot
ClusterV2RkeConfigEtcdSnapshotRestore, ClusterV2RkeConfigEtcdSnapshotRestoreArgs
- Generation int
- ETCD snapshot desired generation
- Name string
- The name of the cluster.
- Restore
Rke stringConfig - ETCD restore RKE config (set to none, all, or kubernetesVersion)
- Generation int
- ETCD snapshot desired generation
- Name string
- The name of the cluster.
- Restore
Rke stringConfig - ETCD restore RKE config (set to none, all, or kubernetesVersion)
- generation Integer
- ETCD snapshot desired generation
- name String
- The name of the cluster.
- restore
Rke StringConfig - ETCD restore RKE config (set to none, all, or kubernetesVersion)
- generation number
- ETCD snapshot desired generation
- name string
- The name of the cluster.
- restore
Rke stringConfig - ETCD restore RKE config (set to none, all, or kubernetesVersion)
- generation int
- ETCD snapshot desired generation
- name str
- The name of the cluster.
- restore_
rke_ strconfig - ETCD restore RKE config (set to none, all, or kubernetesVersion)
- generation Number
- ETCD snapshot desired generation
- name String
- The name of the cluster.
- restore
Rke StringConfig - ETCD restore RKE config (set to none, all, or kubernetesVersion)
ClusterV2RkeConfigLocalAuthEndpoint, ClusterV2RkeConfigLocalAuthEndpointArgs
- Ca
Certs string - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- Enabled bool
- If
enabledis set to true, nodes will be drained before upgrade. - Fqdn string
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
- Ca
Certs string - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- Enabled bool
- If
enabledis set to true, nodes will be drained before upgrade. - Fqdn string
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
- ca
Certs String - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- enabled Boolean
- If
enabledis set to true, nodes will be drained before upgrade. - fqdn String
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
- ca
Certs string - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- enabled boolean
- If
enabledis set to true, nodes will be drained before upgrade. - fqdn string
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
- ca_
certs str - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- enabled bool
- If
enabledis set to true, nodes will be drained before upgrade. - fqdn str
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
- ca
Certs String - CA certs for the authorized cluster endpoint. It is only needed if there is a load balancer in front of the downstream cluster that is using an untrusted certificate. If you have a valid certificate, then nothing needs to be added to the CA Certificates field.
- enabled Boolean
- If
enabledis set to true, nodes will be drained before upgrade. - fqdn String
- FQDN for the authorized cluster endpoint. If one is entered, it should point to the downstream cluster.
ClusterV2RkeConfigMachinePool, ClusterV2RkeConfigMachinePoolArgs
- Machine
Config ClusterV2Rke Config Machine Pool Machine Config - Machine config data
- Name string
- The name of the cluster.
- Annotations Dictionary<string, string>
- Annotations for the Cluster.
- Cloud
Credential stringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- Control
Plane boolRole - Machine pool control plane role
- Drain
Before boolDelete - Machine pool drain before delete
- Etcd
Role bool - Machine pool etcd role
- Hostname
Length intLimit - maximum length for autogenerated hostname
- Labels Dictionary<string, string>
- Labels for the Cluster.
- Machine
Labels Dictionary<string, string> - Labels for the machine pool nodes
- Machine
Os string - OS Type in machine pool
- Max
Unhealthy string - max unhealthy nodes for automated replacement to be allowed
- Node
Drain intTimeout - seconds to wait for machine pool drain to complete before machine deletion
- Node
Startup intTimeout Seconds - seconds a new node has to become active before it is replaced
- Paused bool
- Machine pool paused
- Quantity int
- Machine pool quantity
- Rolling
Update ClusterV2Rke Config Machine Pool Rolling Update - Machine pool rolling update
- Taints
List<Cluster
V2Rke Config Machine Pool Taint> - Machine pool taints
- Unhealthy
Node intTimeout Seconds - seconds an unhealthy node has to become active before it is replaced
- Unhealthy
Range string - range of unhealthy nodes for automated replacement to be allowed
- Worker
Role bool - Machine pool worker role
- Machine
Config ClusterV2Rke Config Machine Pool Machine Config - Machine config data
- Name string
- The name of the cluster.
- Annotations map[string]string
- Annotations for the Cluster.
- Cloud
Credential stringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- Control
Plane boolRole - Machine pool control plane role
- Drain
Before boolDelete - Machine pool drain before delete
- Etcd
Role bool - Machine pool etcd role
- Hostname
Length intLimit - maximum length for autogenerated hostname
- Labels map[string]string
- Labels for the Cluster.
- Machine
Labels map[string]string - Labels for the machine pool nodes
- Machine
Os string - OS Type in machine pool
- Max
Unhealthy string - max unhealthy nodes for automated replacement to be allowed
- Node
Drain intTimeout - seconds to wait for machine pool drain to complete before machine deletion
- Node
Startup intTimeout Seconds - seconds a new node has to become active before it is replaced
- Paused bool
- Machine pool paused
- Quantity int
- Machine pool quantity
- Rolling
Update ClusterV2Rke Config Machine Pool Rolling Update - Machine pool rolling update
- Taints
[]Cluster
V2Rke Config Machine Pool Taint - Machine pool taints
- Unhealthy
Node intTimeout Seconds - seconds an unhealthy node has to become active before it is replaced
- Unhealthy
Range string - range of unhealthy nodes for automated replacement to be allowed
- Worker
Role bool - Machine pool worker role
- machine
Config ClusterV2Rke Config Machine Pool Machine Config - Machine config data
- name String
- The name of the cluster.
- annotations Map<String,String>
- Annotations for the Cluster.
- cloud
Credential StringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- control
Plane BooleanRole - Machine pool control plane role
- drain
Before BooleanDelete - Machine pool drain before delete
- etcd
Role Boolean - Machine pool etcd role
- hostname
Length IntegerLimit - maximum length for autogenerated hostname
- labels Map<String,String>
- Labels for the Cluster.
- machine
Labels Map<String,String> - Labels for the machine pool nodes
- machine
Os String - OS Type in machine pool
- max
Unhealthy String - max unhealthy nodes for automated replacement to be allowed
- node
Drain IntegerTimeout - seconds to wait for machine pool drain to complete before machine deletion
- node
Startup IntegerTimeout Seconds - seconds a new node has to become active before it is replaced
- paused Boolean
- Machine pool paused
- quantity Integer
- Machine pool quantity
- rolling
Update ClusterV2Rke Config Machine Pool Rolling Update - Machine pool rolling update
- taints
List<Cluster
V2Rke Config Machine Pool Taint> - Machine pool taints
- unhealthy
Node IntegerTimeout Seconds - seconds an unhealthy node has to become active before it is replaced
- unhealthy
Range String - range of unhealthy nodes for automated replacement to be allowed
- worker
Role Boolean - Machine pool worker role
- machine
Config ClusterV2Rke Config Machine Pool Machine Config - Machine config data
- name string
- The name of the cluster.
- annotations {[key: string]: string}
- Annotations for the Cluster.
- cloud
Credential stringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- control
Plane booleanRole - Machine pool control plane role
- drain
Before booleanDelete - Machine pool drain before delete
- etcd
Role boolean - Machine pool etcd role
- hostname
Length numberLimit - maximum length for autogenerated hostname
- labels {[key: string]: string}
- Labels for the Cluster.
- machine
Labels {[key: string]: string} - Labels for the machine pool nodes
- machine
Os string - OS Type in machine pool
- max
Unhealthy string - max unhealthy nodes for automated replacement to be allowed
- node
Drain numberTimeout - seconds to wait for machine pool drain to complete before machine deletion
- node
Startup numberTimeout Seconds - seconds a new node has to become active before it is replaced
- paused boolean
- Machine pool paused
- quantity number
- Machine pool quantity
- rolling
Update ClusterV2Rke Config Machine Pool Rolling Update - Machine pool rolling update
- taints
Cluster
V2Rke Config Machine Pool Taint[] - Machine pool taints
- unhealthy
Node numberTimeout Seconds - seconds an unhealthy node has to become active before it is replaced
- unhealthy
Range string - range of unhealthy nodes for automated replacement to be allowed
- worker
Role boolean - Machine pool worker role
- machine_
config ClusterV2Rke Config Machine Pool Machine Config - Machine config data
- name str
- The name of the cluster.
- annotations Mapping[str, str]
- Annotations for the Cluster.
- cloud_
credential_ strsecret_ name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- control_
plane_ boolrole - Machine pool control plane role
- drain_
before_ booldelete - Machine pool drain before delete
- etcd_
role bool - Machine pool etcd role
- hostname_
length_ intlimit - maximum length for autogenerated hostname
- labels Mapping[str, str]
- Labels for the Cluster.
- machine_
labels Mapping[str, str] - Labels for the machine pool nodes
- machine_
os str - OS Type in machine pool
- max_
unhealthy str - max unhealthy nodes for automated replacement to be allowed
- node_
drain_ inttimeout - seconds to wait for machine pool drain to complete before machine deletion
- node_
startup_ inttimeout_ seconds - seconds a new node has to become active before it is replaced
- paused bool
- Machine pool paused
- quantity int
- Machine pool quantity
- rolling_
update ClusterV2Rke Config Machine Pool Rolling Update - Machine pool rolling update
- taints
Sequence[Cluster
V2Rke Config Machine Pool Taint] - Machine pool taints
- unhealthy_
node_ inttimeout_ seconds - seconds an unhealthy node has to become active before it is replaced
- unhealthy_
range str - range of unhealthy nodes for automated replacement to be allowed
- worker_
role bool - Machine pool worker role
- machine
Config Property Map - Machine config data
- name String
- The name of the cluster.
- annotations Map<String>
- Annotations for the Cluster.
- cloud
Credential StringSecret Name - Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level.
- control
Plane BooleanRole - Machine pool control plane role
- drain
Before BooleanDelete - Machine pool drain before delete
- etcd
Role Boolean - Machine pool etcd role
- hostname
Length NumberLimit - maximum length for autogenerated hostname
- labels Map<String>
- Labels for the Cluster.
- machine
Labels Map<String> - Labels for the machine pool nodes
- machine
Os String - OS Type in machine pool
- max
Unhealthy String - max unhealthy nodes for automated replacement to be allowed
- node
Drain NumberTimeout - seconds to wait for machine pool drain to complete before machine deletion
- node
Startup NumberTimeout Seconds - seconds a new node has to become active before it is replaced
- paused Boolean
- Machine pool paused
- quantity Number
- Machine pool quantity
- rolling
Update Property Map - Machine pool rolling update
- taints List<Property Map>
- Machine pool taints
- unhealthy
Node NumberTimeout Seconds - seconds an unhealthy node has to become active before it is replaced
- unhealthy
Range String - range of unhealthy nodes for automated replacement to be allowed
- worker
Role Boolean - Machine pool worker role
ClusterV2RkeConfigMachinePoolDefault, ClusterV2RkeConfigMachinePoolDefaultArgs
- Hostname
Length intLimit - maximum length for autogenerated hostname
- Hostname
Length intLimit - maximum length for autogenerated hostname
- hostname
Length IntegerLimit - maximum length for autogenerated hostname
- hostname
Length numberLimit - maximum length for autogenerated hostname
- hostname_
length_ intlimit - maximum length for autogenerated hostname
- hostname
Length NumberLimit - maximum length for autogenerated hostname
ClusterV2RkeConfigMachinePoolMachineConfig, ClusterV2RkeConfigMachinePoolMachineConfigArgs
- Kind string
- Machine config kind
- Name string
- The name of the cluster.
- Api
Version string - Machine config API version
- Kind string
- Machine config kind
- Name string
- The name of the cluster.
- Api
Version string - Machine config API version
- kind String
- Machine config kind
- name String
- The name of the cluster.
- api
Version String - Machine config API version
- kind string
- Machine config kind
- name string
- The name of the cluster.
- api
Version string - Machine config API version
- kind str
- Machine config kind
- name str
- The name of the cluster.
- api_
version str - Machine config API version
- kind String
- Machine config kind
- name String
- The name of the cluster.
- api
Version String - Machine config API version
ClusterV2RkeConfigMachinePoolRollingUpdate, ClusterV2RkeConfigMachinePoolRollingUpdateArgs
- Max
Surge string - Rolling update max surge
- string
- Rolling update max unavailable
- Max
Surge string - Rolling update max surge
- string
- Rolling update max unavailable
- max
Surge String - Rolling update max surge
- String
- Rolling update max unavailable
- max
Surge string - Rolling update max surge
- string
- Rolling update max unavailable
- max_
surge str - Rolling update max surge
- str
- Rolling update max unavailable
- max
Surge String - Rolling update max surge
- String
- Rolling update max unavailable
ClusterV2RkeConfigMachinePoolTaint, ClusterV2RkeConfigMachinePoolTaintArgs
ClusterV2RkeConfigMachineSelectorConfig, ClusterV2RkeConfigMachineSelectorConfigArgs
- Config string
- Machine selector config
- Machine
Label ClusterSelector V2Rke Config Machine Selector Config Machine Label Selector - Machine label selector
- Config string
- Machine selector config
- Machine
Label ClusterSelector V2Rke Config Machine Selector Config Machine Label Selector - Machine label selector
- config String
- Machine selector config
- machine
Label ClusterSelector V2Rke Config Machine Selector Config Machine Label Selector - Machine label selector
- config string
- Machine selector config
- machine
Label ClusterSelector V2Rke Config Machine Selector Config Machine Label Selector - Machine label selector
- config str
- Machine selector config
- machine_
label_ Clusterselector V2Rke Config Machine Selector Config Machine Label Selector - Machine label selector
- config String
- Machine selector config
- machine
Label Property MapSelector - Machine label selector
ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelector, ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorArgs
- Match
Expressions List<ClusterV2Rke Config Machine Selector Config Machine Label Selector Match Expression> - Label selector match expressions
- Match
Labels Dictionary<string, string> - Label selector match labels
- Match
Expressions []ClusterV2Rke Config Machine Selector Config Machine Label Selector Match Expression - Label selector match expressions
- Match
Labels map[string]string - Label selector match labels
- match
Expressions List<ClusterV2Rke Config Machine Selector Config Machine Label Selector Match Expression> - Label selector match expressions
- match
Labels Map<String,String> - Label selector match labels
- match
Expressions ClusterV2Rke Config Machine Selector Config Machine Label Selector Match Expression[] - Label selector match expressions
- match
Labels {[key: string]: string} - Label selector match labels
- match_
expressions Sequence[ClusterV2Rke Config Machine Selector Config Machine Label Selector Match Expression] - Label selector match expressions
- match_
labels Mapping[str, str] - Label selector match labels
- match
Expressions List<Property Map> - Label selector match expressions
- match
Labels Map<String> - Label selector match labels
ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpression, ClusterV2RkeConfigMachineSelectorConfigMachineLabelSelectorMatchExpressionArgs
ClusterV2RkeConfigMachineSelectorFile, ClusterV2RkeConfigMachineSelectorFileArgs
- File
Sources List<ClusterV2Rke Config Machine Selector File File Source> - File sources
- Machine
Label ClusterSelector V2Rke Config Machine Selector File Machine Label Selector - Machine label selector
- File
Sources []ClusterV2Rke Config Machine Selector File File Source - File sources
- Machine
Label ClusterSelector V2Rke Config Machine Selector File Machine Label Selector - Machine label selector
- file
Sources List<ClusterV2Rke Config Machine Selector File File Source> - File sources
- machine
Label ClusterSelector V2Rke Config Machine Selector File Machine Label Selector - Machine label selector
- file
Sources ClusterV2Rke Config Machine Selector File File Source[] - File sources
- machine
Label ClusterSelector V2Rke Config Machine Selector File Machine Label Selector - Machine label selector
- file
Sources List<Property Map> - File sources
- machine
Label Property MapSelector - Machine label selector
ClusterV2RkeConfigMachineSelectorFileFileSource, ClusterV2RkeConfigMachineSelectorFileFileSourceArgs
- Configmap
Cluster
V2Rke Config Machine Selector File File Source Configmap - The configmap which is the source of files
- Secret
Cluster
V2Rke Config Machine Selector File File Source Secret - The secret which is the source of files
- Configmap
Cluster
V2Rke Config Machine Selector File File Source Configmap - The configmap which is the source of files
- Secret
Cluster
V2Rke Config Machine Selector File File Source Secret - The secret which is the source of files
- configmap
Cluster
V2Rke Config Machine Selector File File Source Configmap - The configmap which is the source of files
- secret
Cluster
V2Rke Config Machine Selector File File Source Secret - The secret which is the source of files
- configmap
Cluster
V2Rke Config Machine Selector File File Source Configmap - The configmap which is the source of files
- secret
Cluster
V2Rke Config Machine Selector File File Source Secret - The secret which is the source of files
- configmap
Cluster
V2Rke Config Machine Selector File File Source Configmap - The configmap which is the source of files
- secret
Cluster
V2Rke Config Machine Selector File File Source Secret - The secret which is the source of files
- configmap Property Map
- The configmap which is the source of files
- secret Property Map
- The secret which is the source of files
ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmap, ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapArgs
- Name string
- The name of the cluster.
- Default
Permissions string - The default permissions to be applied when they are not set at the item level
- Items
List<Cluster
V2Rke Config Machine Selector File File Source Configmap Item> - Items(files) to retrieve from the K8s object
- Name string
- The name of the cluster.
- Default
Permissions string - The default permissions to be applied when they are not set at the item level
- Items
[]Cluster
V2Rke Config Machine Selector File File Source Configmap Item - Items(files) to retrieve from the K8s object
- name String
- The name of the cluster.
- default
Permissions String - The default permissions to be applied when they are not set at the item level
- items
List<Cluster
V2Rke Config Machine Selector File File Source Configmap Item> - Items(files) to retrieve from the K8s object
- name string
- The name of the cluster.
- default
Permissions string - The default permissions to be applied when they are not set at the item level
- items
Cluster
V2Rke Config Machine Selector File File Source Configmap Item[] - Items(files) to retrieve from the K8s object
- name str
- The name of the cluster.
- default_
permissions str - The default permissions to be applied when they are not set at the item level
- items
Sequence[Cluster
V2Rke Config Machine Selector File File Source Configmap Item] - Items(files) to retrieve from the K8s object
- name String
- The name of the cluster.
- default
Permissions String - The default permissions to be applied when they are not set at the item level
- items List<Property Map>
- Items(files) to retrieve from the K8s object
ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItem, ClusterV2RkeConfigMachineSelectorFileFileSourceConfigmapItemArgs
- Key string
- The key of the item(file) to retrieve
- Path string
- The path to put the file in the target node
- Dynamic bool
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- Hash string
- The base64 encoded value of the SHA256 checksum of the file's content
- Permissions string
- The numeric representation of the file permissions
- Key string
- The key of the item(file) to retrieve
- Path string
- The path to put the file in the target node
- Dynamic bool
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- Hash string
- The base64 encoded value of the SHA256 checksum of the file's content
- Permissions string
- The numeric representation of the file permissions
- key String
- The key of the item(file) to retrieve
- path String
- The path to put the file in the target node
- dynamic Boolean
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- hash String
- The base64 encoded value of the SHA256 checksum of the file's content
- permissions String
- The numeric representation of the file permissions
- key string
- The key of the item(file) to retrieve
- path string
- The path to put the file in the target node
- dynamic boolean
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- hash string
- The base64 encoded value of the SHA256 checksum of the file's content
- permissions string
- The numeric representation of the file permissions
- key str
- The key of the item(file) to retrieve
- path str
- The path to put the file in the target node
- dynamic bool
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- hash str
- The base64 encoded value of the SHA256 checksum of the file's content
- permissions str
- The numeric representation of the file permissions
- key String
- The key of the item(file) to retrieve
- path String
- The path to put the file in the target node
- dynamic Boolean
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- hash String
- The base64 encoded value of the SHA256 checksum of the file's content
- permissions String
- The numeric representation of the file permissions
ClusterV2RkeConfigMachineSelectorFileFileSourceSecret, ClusterV2RkeConfigMachineSelectorFileFileSourceSecretArgs
- Name string
- The name of the cluster.
- Default
Permissions string - The default permissions to be applied when they are not set at the item level
- Items
List<Cluster
V2Rke Config Machine Selector File File Source Secret Item> - Items(files) to retrieve from the K8s object
- Name string
- The name of the cluster.
- Default
Permissions string - The default permissions to be applied when they are not set at the item level
- Items
[]Cluster
V2Rke Config Machine Selector File File Source Secret Item - Items(files) to retrieve from the K8s object
- name String
- The name of the cluster.
- default
Permissions String - The default permissions to be applied when they are not set at the item level
- items
List<Cluster
V2Rke Config Machine Selector File File Source Secret Item> - Items(files) to retrieve from the K8s object
- name string
- The name of the cluster.
- default
Permissions string - The default permissions to be applied when they are not set at the item level
- items
Cluster
V2Rke Config Machine Selector File File Source Secret Item[] - Items(files) to retrieve from the K8s object
- name str
- The name of the cluster.
- default_
permissions str - The default permissions to be applied when they are not set at the item level
- items
Sequence[Cluster
V2Rke Config Machine Selector File File Source Secret Item] - Items(files) to retrieve from the K8s object
- name String
- The name of the cluster.
- default
Permissions String - The default permissions to be applied when they are not set at the item level
- items List<Property Map>
- Items(files) to retrieve from the K8s object
ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItem, ClusterV2RkeConfigMachineSelectorFileFileSourceSecretItemArgs
- Key string
- The key of the item(file) to retrieve
- Path string
- The path to put the file in the target node
- Dynamic bool
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- Hash string
- The base64 encoded value of the SHA256 checksum of the file's content
- Permissions string
- The numeric representation of the file permissions
- Key string
- The key of the item(file) to retrieve
- Path string
- The path to put the file in the target node
- Dynamic bool
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- Hash string
- The base64 encoded value of the SHA256 checksum of the file's content
- Permissions string
- The numeric representation of the file permissions
- key String
- The key of the item(file) to retrieve
- path String
- The path to put the file in the target node
- dynamic Boolean
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- hash String
- The base64 encoded value of the SHA256 checksum of the file's content
- permissions String
- The numeric representation of the file permissions
- key string
- The key of the item(file) to retrieve
- path string
- The path to put the file in the target node
- dynamic boolean
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- hash string
- The base64 encoded value of the SHA256 checksum of the file's content
- permissions string
- The numeric representation of the file permissions
- key str
- The key of the item(file) to retrieve
- path str
- The path to put the file in the target node
- dynamic bool
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- hash str
- The base64 encoded value of the SHA256 checksum of the file's content
- permissions str
- The numeric representation of the file permissions
- key String
- The key of the item(file) to retrieve
- path String
- The path to put the file in the target node
- dynamic Boolean
- If ture, the file is ignored when determining whether the node should be drained before updating the node plan (default: true).
- hash String
- The base64 encoded value of the SHA256 checksum of the file's content
- permissions String
- The numeric representation of the file permissions
ClusterV2RkeConfigMachineSelectorFileMachineLabelSelector, ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorArgs
- Match
Expressions List<ClusterV2Rke Config Machine Selector File Machine Label Selector Match Expression> - Label selector match expressions
- Match
Labels Dictionary<string, string> - Label selector match labels
- Match
Expressions []ClusterV2Rke Config Machine Selector File Machine Label Selector Match Expression - Label selector match expressions
- Match
Labels map[string]string - Label selector match labels
- match
Expressions List<ClusterV2Rke Config Machine Selector File Machine Label Selector Match Expression> - Label selector match expressions
- match
Labels Map<String,String> - Label selector match labels
- match
Expressions ClusterV2Rke Config Machine Selector File Machine Label Selector Match Expression[] - Label selector match expressions
- match
Labels {[key: string]: string} - Label selector match labels
- match_
expressions Sequence[ClusterV2Rke Config Machine Selector File Machine Label Selector Match Expression] - Label selector match expressions
- match_
labels Mapping[str, str] - Label selector match labels
- match
Expressions List<Property Map> - Label selector match expressions
- match
Labels Map<String> - Label selector match labels
ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpression, ClusterV2RkeConfigMachineSelectorFileMachineLabelSelectorMatchExpressionArgs
ClusterV2RkeConfigNetworking, ClusterV2RkeConfigNetworkingArgs
- Stack
Preference string - Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1
- Stack
Preference string - Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1
- stack
Preference String - Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1
- stack
Preference string - Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1
- stack_
preference str - Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1
- stack
Preference String - Specify the networking stack used by the cluster. The selected value configures the address used for health and readiness probes of calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and kubelet. It also defines the server URL in the authentication-token-webhook-config-file for the Authorized Cluster Endpoint and the advertise-client-urls for etcd during snapshot restore. When set to dual, the cluster uses localhost; when set to ipv6, it uses [::1]; when set to ipv4, it uses 127.0.0.1
ClusterV2RkeConfigRegistries, ClusterV2RkeConfigRegistriesArgs
- Configs
List<Cluster
V2Rke Config Registries Config> - Registry config
- Mirrors
List<Cluster
V2Rke Config Registries Mirror> - Registry mirrors
- Configs
[]Cluster
V2Rke Config Registries Config - Registry config
- Mirrors
[]Cluster
V2Rke Config Registries Mirror - Registry mirrors
- configs
List<Cluster
V2Rke Config Registries Config> - Registry config
- mirrors
List<Cluster
V2Rke Config Registries Mirror> - Registry mirrors
- configs
Cluster
V2Rke Config Registries Config[] - Registry config
- mirrors
Cluster
V2Rke Config Registries Mirror[] - Registry mirrors
- configs
Sequence[Cluster
V2Rke Config Registries Config] - Registry config
- mirrors
Sequence[Cluster
V2Rke Config Registries Mirror] - Registry mirrors
- configs List<Property Map>
- Registry config
- mirrors List<Property Map>
- Registry mirrors
ClusterV2RkeConfigRegistriesConfig, ClusterV2RkeConfigRegistriesConfigArgs
- Hostname string
- Registry hostname
- Auth
Config stringSecret Name - Registry auth config secret name
- Ca
Bundle string - Registry CA bundle
- Insecure bool
- Registry insecure connectivity
- Tls
Secret stringName - Registry TLS secret name. TLS is a pair of Cert/Key
- Hostname string
- Registry hostname
- Auth
Config stringSecret Name - Registry auth config secret name
- Ca
Bundle string - Registry CA bundle
- Insecure bool
- Registry insecure connectivity
- Tls
Secret stringName - Registry TLS secret name. TLS is a pair of Cert/Key
- hostname String
- Registry hostname
- auth
Config StringSecret Name - Registry auth config secret name
- ca
Bundle String - Registry CA bundle
- insecure Boolean
- Registry insecure connectivity
- tls
Secret StringName - Registry TLS secret name. TLS is a pair of Cert/Key
- hostname string
- Registry hostname
- auth
Config stringSecret Name - Registry auth config secret name
- ca
Bundle string - Registry CA bundle
- insecure boolean
- Registry insecure connectivity
- tls
Secret stringName - Registry TLS secret name. TLS is a pair of Cert/Key
- hostname str
- Registry hostname
- auth_
config_ strsecret_ name - Registry auth config secret name
- ca_
bundle str - Registry CA bundle
- insecure bool
- Registry insecure connectivity
- tls_
secret_ strname - Registry TLS secret name. TLS is a pair of Cert/Key
- hostname String
- Registry hostname
- auth
Config StringSecret Name - Registry auth config secret name
- ca
Bundle String - Registry CA bundle
- insecure Boolean
- Registry insecure connectivity
- tls
Secret StringName - Registry TLS secret name. TLS is a pair of Cert/Key
ClusterV2RkeConfigRegistriesMirror, ClusterV2RkeConfigRegistriesMirrorArgs
ClusterV2RkeConfigRotateCertificates, ClusterV2RkeConfigRotateCertificatesArgs
- Generation int
- Desired certificate rotation generation.
- Services List<string>
- Service certificates to rotate with this generation.
- Generation int
- Desired certificate rotation generation.
- Services []string
- Service certificates to rotate with this generation.
- generation Integer
- Desired certificate rotation generation.
- services List<String>
- Service certificates to rotate with this generation.
- generation number
- Desired certificate rotation generation.
- services string[]
- Service certificates to rotate with this generation.
- generation int
- Desired certificate rotation generation.
- services Sequence[str]
- Service certificates to rotate with this generation.
- generation Number
- Desired certificate rotation generation.
- services List<String>
- Service certificates to rotate with this generation.
ClusterV2RkeConfigUpgradeStrategy, ClusterV2RkeConfigUpgradeStrategyArgs
- Control
Plane stringConcurrency - How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
- Control
Plane ClusterDrain Options V2Rke Config Upgrade Strategy Control Plane Drain Options - Controlplane nodes drain options
- Worker
Concurrency string - How many worker nodes should be upgrade at time
- Worker
Drain ClusterOptions V2Rke Config Upgrade Strategy Worker Drain Options - Worker nodes drain options
- Control
Plane stringConcurrency - How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
- Control
Plane ClusterDrain Options V2Rke Config Upgrade Strategy Control Plane Drain Options - Controlplane nodes drain options
- Worker
Concurrency string - How many worker nodes should be upgrade at time
- Worker
Drain ClusterOptions V2Rke Config Upgrade Strategy Worker Drain Options - Worker nodes drain options
- control
Plane StringConcurrency - How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
- control
Plane ClusterDrain Options V2Rke Config Upgrade Strategy Control Plane Drain Options - Controlplane nodes drain options
- worker
Concurrency String - How many worker nodes should be upgrade at time
- worker
Drain ClusterOptions V2Rke Config Upgrade Strategy Worker Drain Options - Worker nodes drain options
- control
Plane stringConcurrency - How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
- control
Plane ClusterDrain Options V2Rke Config Upgrade Strategy Control Plane Drain Options - Controlplane nodes drain options
- worker
Concurrency string - How many worker nodes should be upgrade at time
- worker
Drain ClusterOptions V2Rke Config Upgrade Strategy Worker Drain Options - Worker nodes drain options
- control_
plane_ strconcurrency - How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
- control_
plane_ Clusterdrain_ options V2Rke Config Upgrade Strategy Control Plane Drain Options - Controlplane nodes drain options
- worker_
concurrency str - How many worker nodes should be upgrade at time
- worker_
drain_ Clusteroptions V2Rke Config Upgrade Strategy Worker Drain Options - Worker nodes drain options
- control
Plane StringConcurrency - How many controlplane nodes should be upgrade at time, 0 is infinite. Percentages are also accepted
- control
Plane Property MapDrain Options - Controlplane nodes drain options
- worker
Concurrency String - How many worker nodes should be upgrade at time
- worker
Drain Property MapOptions - Worker nodes drain options
ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptions, ClusterV2RkeConfigUpgradeStrategyControlPlaneDrainOptionsArgs
- Delete
Empty boolDir Data - Drain options delete empty dir data
- Disable
Eviction bool - Drain options disable eviction
- Enabled bool
- Drain options enabled?
- Force bool
- Drain options force
- Grace
Period int - Drain options grace period
- Ignore
Daemon boolSets - Drain options ignore daemon sets
- Ignore
Errors bool - Drain options ignore errors
- Skip
Wait intFor Delete Timeout Seconds - Drain options skip wait for delete timeout seconds
- Timeout int
- Drain options timeout
- Delete
Empty boolDir Data - Drain options delete empty dir data
- Disable
Eviction bool - Drain options disable eviction
- Enabled bool
- Drain options enabled?
- Force bool
- Drain options force
- Grace
Period int - Drain options grace period
- Ignore
Daemon boolSets - Drain options ignore daemon sets
- Ignore
Errors bool - Drain options ignore errors
- Skip
Wait intFor Delete Timeout Seconds - Drain options skip wait for delete timeout seconds
- Timeout int
- Drain options timeout
- delete
Empty BooleanDir Data - Drain options delete empty dir data
- disable
Eviction Boolean - Drain options disable eviction
- enabled Boolean
- Drain options enabled?
- force Boolean
- Drain options force
- grace
Period Integer - Drain options grace period
- ignore
Daemon BooleanSets - Drain options ignore daemon sets
- ignore
Errors Boolean - Drain options ignore errors
- skip
Wait IntegerFor Delete Timeout Seconds - Drain options skip wait for delete timeout seconds
- timeout Integer
- Drain options timeout
- delete
Empty booleanDir Data - Drain options delete empty dir data
- disable
Eviction boolean - Drain options disable eviction
- enabled boolean
- Drain options enabled?
- force boolean
- Drain options force
- grace
Period number - Drain options grace period
- ignore
Daemon booleanSets - Drain options ignore daemon sets
- ignore
Errors boolean - Drain options ignore errors
- skip
Wait numberFor Delete Timeout Seconds - Drain options skip wait for delete timeout seconds
- timeout number
- Drain options timeout
- delete_
empty_ booldir_ data - Drain options delete empty dir data
- disable_
eviction bool - Drain options disable eviction
- enabled bool
- Drain options enabled?
- force bool
- Drain options force
- grace_
period int - Drain options grace period
- ignore_
daemon_ boolsets - Drain options ignore daemon sets
- ignore_
errors bool - Drain options ignore errors
- skip_
wait_ intfor_ delete_ timeout_ seconds - Drain options skip wait for delete timeout seconds
- timeout int
- Drain options timeout
- delete
Empty BooleanDir Data - Drain options delete empty dir data
- disable
Eviction Boolean - Drain options disable eviction
- enabled Boolean
- Drain options enabled?
- force Boolean
- Drain options force
- grace
Period Number - Drain options grace period
- ignore
Daemon BooleanSets - Drain options ignore daemon sets
- ignore
Errors Boolean - Drain options ignore errors
- skip
Wait NumberFor Delete Timeout Seconds - Drain options skip wait for delete timeout seconds
- timeout Number
- Drain options timeout
ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptions, ClusterV2RkeConfigUpgradeStrategyWorkerDrainOptionsArgs
- Delete
Empty boolDir Data - Drain options delete empty dir data
- Disable
Eviction bool - Drain options disable eviction
- Enabled bool
- Drain options enabled?
- Force bool
- Drain options force
- Grace
Period int - Drain options grace period
- Ignore
Daemon boolSets - Drain options ignore daemon sets
- Ignore
Errors bool - Drain options ignore errors
- Skip
Wait intFor Delete Timeout Seconds - Drain options skip wait for delete timeout seconds
- Timeout int
- Drain options timeout
- Delete
Empty boolDir Data - Drain options delete empty dir data
- Disable
Eviction bool - Drain options disable eviction
- Enabled bool
- Drain options enabled?
- Force bool
- Drain options force
- Grace
Period int - Drain options grace period
- Ignore
Daemon boolSets - Drain options ignore daemon sets
- Ignore
Errors bool - Drain options ignore errors
- Skip
Wait intFor Delete Timeout Seconds - Drain options skip wait for delete timeout seconds
- Timeout int
- Drain options timeout
- delete
Empty BooleanDir Data - Drain options delete empty dir data
- disable
Eviction Boolean - Drain options disable eviction
- enabled Boolean
- Drain options enabled?
- force Boolean
- Drain options force
- grace
Period Integer - Drain options grace period
- ignore
Daemon BooleanSets - Drain options ignore daemon sets
- ignore
Errors Boolean - Drain options ignore errors
- skip
Wait IntegerFor Delete Timeout Seconds - Drain options skip wait for delete timeout seconds
- timeout Integer
- Drain options timeout
- delete
Empty booleanDir Data - Drain options delete empty dir data
- disable
Eviction boolean - Drain options disable eviction
- enabled boolean
- Drain options enabled?
- force boolean
- Drain options force
- grace
Period number - Drain options grace period
- ignore
Daemon booleanSets - Drain options ignore daemon sets
- ignore
Errors boolean - Drain options ignore errors
- skip
Wait numberFor Delete Timeout Seconds - Drain options skip wait for delete timeout seconds
- timeout number
- Drain options timeout
- delete_
empty_ booldir_ data - Drain options delete empty dir data
- disable_
eviction bool - Drain options disable eviction
- enabled bool
- Drain options enabled?
- force bool
- Drain options force
- grace_
period int - Drain options grace period
- ignore_
daemon_ boolsets - Drain options ignore daemon sets
- ignore_
errors bool - Drain options ignore errors
- skip_
wait_ intfor_ delete_ timeout_ seconds - Drain options skip wait for delete timeout seconds
- timeout int
- Drain options timeout
- delete
Empty BooleanDir Data - Drain options delete empty dir data
- disable
Eviction Boolean - Drain options disable eviction
- enabled Boolean
- Drain options enabled?
- force Boolean
- Drain options force
- grace
Period Number - Drain options grace period
- ignore
Daemon BooleanSets - Drain options ignore daemon sets
- ignore
Errors Boolean - Drain options ignore errors
- skip
Wait NumberFor Delete Timeout Seconds - Drain options skip wait for delete timeout seconds
- timeout Number
- Drain options timeout
Import
Clusters v2 can be imported using the Rancher Cluster v2 ID, that is in the form <FLEET_NAMESPACE>/<CLUSTER_NAME>
$ pulumi import rancher2:index/clusterV2:ClusterV2 foo <FLEET_NAMESPACE>/<CLUSTER_NAME>
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Rancher2 pulumi/pulumi-rancher2
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
rancher2Terraform Provider.
published on Thursday, Feb 26, 2026 by Pulumi
