1. Packages
  2. Alibaba Cloud Provider
  3. API Docs
  4. cs
  5. EdgeKubernetes
Alibaba Cloud v3.76.0 published on Tuesday, Apr 8, 2025 by Pulumi

alicloud.cs.EdgeKubernetes

Explore with Pulumi AI

This resource will help you to manage a Edge Kubernetes Cluster in Alibaba Cloud Kubernetes Service, see What is edge kubernetes.

NOTE: Kubernetes cluster only supports VPC network and it can access internet while creating kubernetes cluster. A Nat Gateway and configuring a SNAT for it can ensure one VPC network access internet. If there is no nat gateway in the VPC, you can set new_nat_gateway to “true” to create one automatically.

NOTE: Creating kubernetes cluster need to install several packages and it will cost about 15 minutes. Please be patient.

NOTE: The provider supports to download kube config, client certificate, client key and cluster ca certificate after creating cluster successfully, and you can put them into the specified location, like ‘~/.kube/config’.

NOTE: The provider supports disabling internet load balancer for API Server by setting false to slb_internet_enabled.

NOTE: If you want to manage Kubernetes, you can use Kubernetes Provider.

NOTE: Available since v1.103.0.

NOTE: From version 1.185.0+, support new fields cluster_spec, runtime and load_balancer_spec.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const config = new pulumi.Config();
const name = config.get("name") || "tf-example";
const _default = alicloud.getZones({
    availableResourceCreation: "VSwitch",
});
const defaultGetInstanceTypes = _default.then(_default => alicloud.ecs.getInstanceTypes({
    availabilityZone: _default.zones?.[0]?.id,
    cpuCoreCount: 4,
    memorySize: 8,
    kubernetesNodeRole: "Master",
}));
const defaultNetwork = new alicloud.vpc.Network("default", {
    vpcName: name,
    cidrBlock: "10.4.0.0/16",
});
const defaultSwitch = new alicloud.vpc.Switch("default", {
    vswitchName: name,
    cidrBlock: "10.4.0.0/24",
    vpcId: defaultNetwork.id,
    zoneId: _default.then(_default => _default.zones?.[0]?.id),
});
const defaultEdgeKubernetes = new alicloud.cs.EdgeKubernetes("default", {
    namePrefix: name,
    workerVswitchIds: [defaultSwitch.id],
    workerInstanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id)],
    version: "1.26.3-aliyun.1",
    workerNumber: 1,
    password: "Test12345",
    podCidr: "10.99.0.0/16",
    serviceCidr: "172.16.0.0/16",
    workerInstanceChargeType: "PostPaid",
    newNatGateway: true,
    nodeCidrMask: 24,
    installCloudMonitor: true,
    slbInternetEnabled: true,
    isEnterpriseSecurityGroup: true,
    workerDataDisks: [{
        category: "cloud_ssd",
        size: "200",
        encrypted: "false",
    }],
});
Copy
import pulumi
import pulumi_alicloud as alicloud

config = pulumi.Config()
name = config.get("name")
if name is None:
    name = "tf-example"
default = alicloud.get_zones(available_resource_creation="VSwitch")
default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,
    cpu_core_count=4,
    memory_size=8,
    kubernetes_node_role="Master")
default_network = alicloud.vpc.Network("default",
    vpc_name=name,
    cidr_block="10.4.0.0/16")
default_switch = alicloud.vpc.Switch("default",
    vswitch_name=name,
    cidr_block="10.4.0.0/24",
    vpc_id=default_network.id,
    zone_id=default.zones[0].id)
default_edge_kubernetes = alicloud.cs.EdgeKubernetes("default",
    name_prefix=name,
    worker_vswitch_ids=[default_switch.id],
    worker_instance_types=[default_get_instance_types.instance_types[0].id],
    version="1.26.3-aliyun.1",
    worker_number=1,
    password="Test12345",
    pod_cidr="10.99.0.0/16",
    service_cidr="172.16.0.0/16",
    worker_instance_charge_type="PostPaid",
    new_nat_gateway=True,
    node_cidr_mask=24,
    install_cloud_monitor=True,
    slb_internet_enabled=True,
    is_enterprise_security_group=True,
    worker_data_disks=[{
        "category": "cloud_ssd",
        "size": "200",
        "encrypted": "false",
    }])
Copy
package main

import (
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs"
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone:   pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:       pulumi.IntRef(4),
			MemorySize:         pulumi.Float64Ref(8),
			KubernetesNodeRole: pulumi.StringRef("Master"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.0.0/24"),
			VpcId:       defaultNetwork.ID(),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		_, err = cs.NewEdgeKubernetes(ctx, "default", &cs.EdgeKubernetesArgs{
			NamePrefix: pulumi.String(name),
			WorkerVswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
			},
			WorkerInstanceTypes: pulumi.StringArray{
				pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
			},
			Version:                   pulumi.String("1.26.3-aliyun.1"),
			WorkerNumber:              pulumi.Int(1),
			Password:                  pulumi.String("Test12345"),
			PodCidr:                   pulumi.String("10.99.0.0/16"),
			ServiceCidr:               pulumi.String("172.16.0.0/16"),
			WorkerInstanceChargeType:  pulumi.String("PostPaid"),
			NewNatGateway:             pulumi.Bool(true),
			NodeCidrMask:              pulumi.Int(24),
			InstallCloudMonitor:       pulumi.Bool(true),
			SlbInternetEnabled:        pulumi.Bool(true),
			IsEnterpriseSecurityGroup: pulumi.Bool(true),
			WorkerDataDisks: cs.EdgeKubernetesWorkerDataDiskArray{
				&cs.EdgeKubernetesWorkerDataDiskArgs{
					Category:  pulumi.String("cloud_ssd"),
					Size:      pulumi.String("200"),
					Encrypted: pulumi.String("false"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;

return await Deployment.RunAsync(() => 
{
    var config = new Config();
    var name = config.Get("name") ?? "tf-example";
    var @default = AliCloud.GetZones.Invoke(new()
    {
        AvailableResourceCreation = "VSwitch",
    });

    var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()
    {
        AvailabilityZone = @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
        CpuCoreCount = 4,
        MemorySize = 8,
        KubernetesNodeRole = "Master",
    });

    var defaultNetwork = new AliCloud.Vpc.Network("default", new()
    {
        VpcName = name,
        CidrBlock = "10.4.0.0/16",
    });

    var defaultSwitch = new AliCloud.Vpc.Switch("default", new()
    {
        VswitchName = name,
        CidrBlock = "10.4.0.0/24",
        VpcId = defaultNetwork.Id,
        ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
    });

    var defaultEdgeKubernetes = new AliCloud.CS.EdgeKubernetes("default", new()
    {
        NamePrefix = name,
        WorkerVswitchIds = new[]
        {
            defaultSwitch.Id,
        },
        WorkerInstanceTypes = new[]
        {
            defaultGetInstanceTypes.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id),
        },
        Version = "1.26.3-aliyun.1",
        WorkerNumber = 1,
        Password = "Test12345",
        PodCidr = "10.99.0.0/16",
        ServiceCidr = "172.16.0.0/16",
        WorkerInstanceChargeType = "PostPaid",
        NewNatGateway = true,
        NodeCidrMask = 24,
        InstallCloudMonitor = true,
        SlbInternetEnabled = true,
        IsEnterpriseSecurityGroup = true,
        WorkerDataDisks = new[]
        {
            new AliCloud.CS.Inputs.EdgeKubernetesWorkerDataDiskArgs
            {
                Category = "cloud_ssd",
                Size = "200",
                Encrypted = "false",
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.cs.EdgeKubernetes;
import com.pulumi.alicloud.cs.EdgeKubernetesArgs;
import com.pulumi.alicloud.cs.inputs.EdgeKubernetesWorkerDataDiskArgs;
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) {
        final var config = ctx.config();
        final var name = config.get("name").orElse("tf-example");
        final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
            .availableResourceCreation("VSwitch")
            .build());

        final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
            .availabilityZone(default_.zones()[0].id())
            .cpuCoreCount(4)
            .memorySize(8)
            .kubernetesNodeRole("Master")
            .build());

        var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
            .vpcName(name)
            .cidrBlock("10.4.0.0/16")
            .build());

        var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
            .vswitchName(name)
            .cidrBlock("10.4.0.0/24")
            .vpcId(defaultNetwork.id())
            .zoneId(default_.zones()[0].id())
            .build());

        var defaultEdgeKubernetes = new EdgeKubernetes("defaultEdgeKubernetes", EdgeKubernetesArgs.builder()
            .namePrefix(name)
            .workerVswitchIds(defaultSwitch.id())
            .workerInstanceTypes(defaultGetInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
            .version("1.26.3-aliyun.1")
            .workerNumber("1")
            .password("Test12345")
            .podCidr("10.99.0.0/16")
            .serviceCidr("172.16.0.0/16")
            .workerInstanceChargeType("PostPaid")
            .newNatGateway("true")
            .nodeCidrMask("24")
            .installCloudMonitor("true")
            .slbInternetEnabled("true")
            .isEnterpriseSecurityGroup("true")
            .workerDataDisks(EdgeKubernetesWorkerDataDiskArgs.builder()
                .category("cloud_ssd")
                .size("200")
                .encrypted("false")
                .build())
            .build());

    }
}
Copy
configuration:
  name:
    type: string
    default: tf-example
resources:
  defaultNetwork:
    type: alicloud:vpc:Network
    name: default
    properties:
      vpcName: ${name}
      cidrBlock: 10.4.0.0/16
  defaultSwitch:
    type: alicloud:vpc:Switch
    name: default
    properties:
      vswitchName: ${name}
      cidrBlock: 10.4.0.0/24
      vpcId: ${defaultNetwork.id}
      zoneId: ${default.zones[0].id}
  defaultEdgeKubernetes:
    type: alicloud:cs:EdgeKubernetes
    name: default
    properties:
      namePrefix: ${name}
      workerVswitchIds:
        - ${defaultSwitch.id}
      workerInstanceTypes:
        - ${defaultGetInstanceTypes.instanceTypes[0].id}
      version: 1.26.3-aliyun.1
      workerNumber: '1'
      password: Test12345
      podCidr: 10.99.0.0/16
      serviceCidr: 172.16.0.0/16
      workerInstanceChargeType: PostPaid
      newNatGateway: 'true'
      nodeCidrMask: '24'
      installCloudMonitor: 'true'
      slbInternetEnabled: 'true'
      isEnterpriseSecurityGroup: 'true'
      workerDataDisks:
        - category: cloud_ssd
          size: '200'
          encrypted: 'false'
variables:
  default:
    fn::invoke:
      function: alicloud:getZones
      arguments:
        availableResourceCreation: VSwitch
  defaultGetInstanceTypes:
    fn::invoke:
      function: alicloud:ecs:getInstanceTypes
      arguments:
        availabilityZone: ${default.zones[0].id}
        cpuCoreCount: 4
        memorySize: 8
        kubernetesNodeRole: Master
Copy

You could create a professional kubernetes edge cluster now.

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const config = new pulumi.Config();
const name = config.get("name") || "tf_example";
const _default = alicloud.getZones({
    availableResourceCreation: "VSwitch",
});
const defaultGetInstanceTypes = _default.then(_default => alicloud.ecs.getInstanceTypes({
    availabilityZone: _default.zones?.[0]?.id,
    cpuCoreCount: 4,
    memorySize: 8,
    kubernetesNodeRole: "Master",
}));
const defaultNetwork = new alicloud.vpc.Network("default", {
    vpcName: name,
    cidrBlock: "10.4.0.0/16",
});
const defaultSwitch = new alicloud.vpc.Switch("default", {
    vswitchName: name,
    cidrBlock: "10.4.0.0/24",
    vpcId: defaultNetwork.id,
    zoneId: _default.then(_default => _default.zones?.[0]?.id),
});
const defaultEdgeKubernetes = new alicloud.cs.EdgeKubernetes("default", {
    namePrefix: name,
    workerVswitchIds: [defaultSwitch.id],
    workerInstanceTypes: [defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id)],
    clusterSpec: "ack.pro.small",
    workerNumber: 1,
    password: "Test12345",
    podCidr: "10.99.0.0/16",
    serviceCidr: "172.16.0.0/16",
    workerInstanceChargeType: "PostPaid",
    newNatGateway: true,
    nodeCidrMask: 24,
    loadBalancerSpec: "slb.s2.small",
    installCloudMonitor: true,
    slbInternetEnabled: true,
    isEnterpriseSecurityGroup: true,
    workerDataDisks: [{
        category: "cloud_ssd",
        size: "200",
        encrypted: "false",
    }],
});
Copy
import pulumi
import pulumi_alicloud as alicloud

config = pulumi.Config()
name = config.get("name")
if name is None:
    name = "tf_example"
default = alicloud.get_zones(available_resource_creation="VSwitch")
default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,
    cpu_core_count=4,
    memory_size=8,
    kubernetes_node_role="Master")
default_network = alicloud.vpc.Network("default",
    vpc_name=name,
    cidr_block="10.4.0.0/16")
default_switch = alicloud.vpc.Switch("default",
    vswitch_name=name,
    cidr_block="10.4.0.0/24",
    vpc_id=default_network.id,
    zone_id=default.zones[0].id)
default_edge_kubernetes = alicloud.cs.EdgeKubernetes("default",
    name_prefix=name,
    worker_vswitch_ids=[default_switch.id],
    worker_instance_types=[default_get_instance_types.instance_types[0].id],
    cluster_spec="ack.pro.small",
    worker_number=1,
    password="Test12345",
    pod_cidr="10.99.0.0/16",
    service_cidr="172.16.0.0/16",
    worker_instance_charge_type="PostPaid",
    new_nat_gateway=True,
    node_cidr_mask=24,
    load_balancer_spec="slb.s2.small",
    install_cloud_monitor=True,
    slb_internet_enabled=True,
    is_enterprise_security_group=True,
    worker_data_disks=[{
        "category": "cloud_ssd",
        "size": "200",
        "encrypted": "false",
    }])
Copy
package main

import (
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs"
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf_example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone:   pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:       pulumi.IntRef(4),
			MemorySize:         pulumi.Float64Ref(8),
			KubernetesNodeRole: pulumi.StringRef("Master"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.0.0/24"),
			VpcId:       defaultNetwork.ID(),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		_, err = cs.NewEdgeKubernetes(ctx, "default", &cs.EdgeKubernetesArgs{
			NamePrefix: pulumi.String(name),
			WorkerVswitchIds: pulumi.StringArray{
				defaultSwitch.ID(),
			},
			WorkerInstanceTypes: pulumi.StringArray{
				pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
			},
			ClusterSpec:               pulumi.String("ack.pro.small"),
			WorkerNumber:              pulumi.Int(1),
			Password:                  pulumi.String("Test12345"),
			PodCidr:                   pulumi.String("10.99.0.0/16"),
			ServiceCidr:               pulumi.String("172.16.0.0/16"),
			WorkerInstanceChargeType:  pulumi.String("PostPaid"),
			NewNatGateway:             pulumi.Bool(true),
			NodeCidrMask:              pulumi.Int(24),
			LoadBalancerSpec:          pulumi.String("slb.s2.small"),
			InstallCloudMonitor:       pulumi.Bool(true),
			SlbInternetEnabled:        pulumi.Bool(true),
			IsEnterpriseSecurityGroup: pulumi.Bool(true),
			WorkerDataDisks: cs.EdgeKubernetesWorkerDataDiskArray{
				&cs.EdgeKubernetesWorkerDataDiskArgs{
					Category:  pulumi.String("cloud_ssd"),
					Size:      pulumi.String("200"),
					Encrypted: pulumi.String("false"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;

return await Deployment.RunAsync(() => 
{
    var config = new Config();
    var name = config.Get("name") ?? "tf_example";
    var @default = AliCloud.GetZones.Invoke(new()
    {
        AvailableResourceCreation = "VSwitch",
    });

    var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()
    {
        AvailabilityZone = @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
        CpuCoreCount = 4,
        MemorySize = 8,
        KubernetesNodeRole = "Master",
    });

    var defaultNetwork = new AliCloud.Vpc.Network("default", new()
    {
        VpcName = name,
        CidrBlock = "10.4.0.0/16",
    });

    var defaultSwitch = new AliCloud.Vpc.Switch("default", new()
    {
        VswitchName = name,
        CidrBlock = "10.4.0.0/24",
        VpcId = defaultNetwork.Id,
        ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
    });

    var defaultEdgeKubernetes = new AliCloud.CS.EdgeKubernetes("default", new()
    {
        NamePrefix = name,
        WorkerVswitchIds = new[]
        {
            defaultSwitch.Id,
        },
        WorkerInstanceTypes = new[]
        {
            defaultGetInstanceTypes.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id),
        },
        ClusterSpec = "ack.pro.small",
        WorkerNumber = 1,
        Password = "Test12345",
        PodCidr = "10.99.0.0/16",
        ServiceCidr = "172.16.0.0/16",
        WorkerInstanceChargeType = "PostPaid",
        NewNatGateway = true,
        NodeCidrMask = 24,
        LoadBalancerSpec = "slb.s2.small",
        InstallCloudMonitor = true,
        SlbInternetEnabled = true,
        IsEnterpriseSecurityGroup = true,
        WorkerDataDisks = new[]
        {
            new AliCloud.CS.Inputs.EdgeKubernetesWorkerDataDiskArgs
            {
                Category = "cloud_ssd",
                Size = "200",
                Encrypted = "false",
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.cs.EdgeKubernetes;
import com.pulumi.alicloud.cs.EdgeKubernetesArgs;
import com.pulumi.alicloud.cs.inputs.EdgeKubernetesWorkerDataDiskArgs;
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) {
        final var config = ctx.config();
        final var name = config.get("name").orElse("tf_example");
        final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
            .availableResourceCreation("VSwitch")
            .build());

        final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
            .availabilityZone(default_.zones()[0].id())
            .cpuCoreCount(4)
            .memorySize(8)
            .kubernetesNodeRole("Master")
            .build());

        var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
            .vpcName(name)
            .cidrBlock("10.4.0.0/16")
            .build());

        var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
            .vswitchName(name)
            .cidrBlock("10.4.0.0/24")
            .vpcId(defaultNetwork.id())
            .zoneId(default_.zones()[0].id())
            .build());

        var defaultEdgeKubernetes = new EdgeKubernetes("defaultEdgeKubernetes", EdgeKubernetesArgs.builder()
            .namePrefix(name)
            .workerVswitchIds(defaultSwitch.id())
            .workerInstanceTypes(defaultGetInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
            .clusterSpec("ack.pro.small")
            .workerNumber("1")
            .password("Test12345")
            .podCidr("10.99.0.0/16")
            .serviceCidr("172.16.0.0/16")
            .workerInstanceChargeType("PostPaid")
            .newNatGateway("true")
            .nodeCidrMask("24")
            .loadBalancerSpec("slb.s2.small")
            .installCloudMonitor("true")
            .slbInternetEnabled("true")
            .isEnterpriseSecurityGroup("true")
            .workerDataDisks(EdgeKubernetesWorkerDataDiskArgs.builder()
                .category("cloud_ssd")
                .size("200")
                .encrypted("false")
                .build())
            .build());

    }
}
Copy
configuration:
  name:
    type: string
    default: tf_example
resources:
  defaultNetwork:
    type: alicloud:vpc:Network
    name: default
    properties:
      vpcName: ${name}
      cidrBlock: 10.4.0.0/16
  defaultSwitch:
    type: alicloud:vpc:Switch
    name: default
    properties:
      vswitchName: ${name}
      cidrBlock: 10.4.0.0/24
      vpcId: ${defaultNetwork.id}
      zoneId: ${default.zones[0].id}
  defaultEdgeKubernetes:
    type: alicloud:cs:EdgeKubernetes
    name: default
    properties:
      namePrefix: ${name}
      workerVswitchIds:
        - ${defaultSwitch.id}
      workerInstanceTypes:
        - ${defaultGetInstanceTypes.instanceTypes[0].id}
      clusterSpec: ack.pro.small
      workerNumber: '1'
      password: Test12345
      podCidr: 10.99.0.0/16
      serviceCidr: 172.16.0.0/16
      workerInstanceChargeType: PostPaid
      newNatGateway: 'true'
      nodeCidrMask: '24'
      loadBalancerSpec: slb.s2.small
      installCloudMonitor: 'true'
      slbInternetEnabled: 'true'
      isEnterpriseSecurityGroup: 'true'
      workerDataDisks:
        - category: cloud_ssd
          size: '200'
          encrypted: 'false'
variables:
  default:
    fn::invoke:
      function: alicloud:getZones
      arguments:
        availableResourceCreation: VSwitch
  defaultGetInstanceTypes:
    fn::invoke:
      function: alicloud:ecs:getInstanceTypes
      arguments:
        availabilityZone: ${default.zones[0].id}
        cpuCoreCount: 4
        memorySize: 8
        kubernetesNodeRole: Master
Copy

Create EdgeKubernetes Resource

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

Constructor syntax

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

@overload
def EdgeKubernetes(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   worker_instance_types: Optional[Sequence[str]] = None,
                   worker_vswitch_ids: Optional[Sequence[str]] = None,
                   worker_number: Optional[int] = None,
                   proxy_mode: Optional[str] = None,
                   resource_group_id: Optional[str] = None,
                   cluster_spec: Optional[str] = None,
                   deletion_protection: Optional[bool] = None,
                   force_update: Optional[bool] = None,
                   retain_resources: Optional[Sequence[str]] = None,
                   is_enterprise_security_group: Optional[bool] = None,
                   key_name: Optional[str] = None,
                   kube_config: Optional[str] = None,
                   load_balancer_spec: Optional[str] = None,
                   log_config: Optional[EdgeKubernetesLogConfigArgs] = None,
                   name: Optional[str] = None,
                   name_prefix: Optional[str] = None,
                   new_nat_gateway: Optional[bool] = None,
                   node_cidr_mask: Optional[int] = None,
                   password: Optional[str] = None,
                   pod_cidr: Optional[str] = None,
                   addons: Optional[Sequence[EdgeKubernetesAddonArgs]] = None,
                   cluster_ca_cert: Optional[str] = None,
                   rds_instances: Optional[Sequence[str]] = None,
                   install_cloud_monitor: Optional[bool] = None,
                   runtime: Optional[EdgeKubernetesRuntimeArgs] = None,
                   security_group_id: Optional[str] = None,
                   service_cidr: Optional[str] = None,
                   slb_internet_enabled: Optional[bool] = None,
                   tags: Optional[Mapping[str, str]] = None,
                   user_data: Optional[str] = None,
                   version: Optional[str] = None,
                   worker_data_disks: Optional[Sequence[EdgeKubernetesWorkerDataDiskArgs]] = None,
                   worker_disk_category: Optional[str] = None,
                   worker_disk_performance_level: Optional[str] = None,
                   worker_disk_size: Optional[int] = None,
                   worker_disk_snapshot_policy_id: Optional[str] = None,
                   worker_instance_charge_type: Optional[str] = None,
                   client_key: Optional[str] = None,
                   client_cert: Optional[str] = None,
                   availability_zone: Optional[str] = None)
func NewEdgeKubernetes(ctx *Context, name string, args EdgeKubernetesArgs, opts ...ResourceOption) (*EdgeKubernetes, error)
public EdgeKubernetes(string name, EdgeKubernetesArgs args, CustomResourceOptions? opts = null)
public EdgeKubernetes(String name, EdgeKubernetesArgs args)
public EdgeKubernetes(String name, EdgeKubernetesArgs args, CustomResourceOptions options)
type: alicloud:cs:EdgeKubernetes
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. EdgeKubernetesArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. EdgeKubernetesArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. EdgeKubernetesArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. EdgeKubernetesArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. EdgeKubernetesArgs
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 edgeKubernetesResource = new AliCloud.CS.EdgeKubernetes("edgeKubernetesResource", new()
{
    WorkerInstanceTypes = new[]
    {
        "string",
    },
    WorkerVswitchIds = new[]
    {
        "string",
    },
    WorkerNumber = 0,
    ProxyMode = "string",
    ResourceGroupId = "string",
    ClusterSpec = "string",
    DeletionProtection = false,
    ForceUpdate = false,
    RetainResources = new[]
    {
        "string",
    },
    IsEnterpriseSecurityGroup = false,
    KeyName = "string",
    LoadBalancerSpec = "string",
    Name = "string",
    NamePrefix = "string",
    NewNatGateway = false,
    NodeCidrMask = 0,
    Password = "string",
    PodCidr = "string",
    Addons = new[]
    {
        new AliCloud.CS.Inputs.EdgeKubernetesAddonArgs
        {
            Config = "string",
            Disabled = false,
            Name = "string",
            Version = "string",
        },
    },
    ClusterCaCert = "string",
    RdsInstances = new[]
    {
        "string",
    },
    InstallCloudMonitor = false,
    Runtime = new AliCloud.CS.Inputs.EdgeKubernetesRuntimeArgs
    {
        Name = "string",
        Version = "string",
    },
    SecurityGroupId = "string",
    ServiceCidr = "string",
    SlbInternetEnabled = false,
    Tags = 
    {
        { "string", "string" },
    },
    UserData = "string",
    Version = "string",
    WorkerDataDisks = new[]
    {
        new AliCloud.CS.Inputs.EdgeKubernetesWorkerDataDiskArgs
        {
            AutoSnapshotPolicyId = "string",
            Category = "string",
            Device = "string",
            Encrypted = "string",
            KmsKeyId = "string",
            Name = "string",
            PerformanceLevel = "string",
            Size = "string",
            SnapshotId = "string",
        },
    },
    WorkerDiskCategory = "string",
    WorkerDiskPerformanceLevel = "string",
    WorkerDiskSize = 0,
    WorkerDiskSnapshotPolicyId = "string",
    WorkerInstanceChargeType = "string",
    ClientKey = "string",
    ClientCert = "string",
    AvailabilityZone = "string",
});
Copy
example, err := cs.NewEdgeKubernetes(ctx, "edgeKubernetesResource", &cs.EdgeKubernetesArgs{
	WorkerInstanceTypes: pulumi.StringArray{
		pulumi.String("string"),
	},
	WorkerVswitchIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	WorkerNumber:       pulumi.Int(0),
	ProxyMode:          pulumi.String("string"),
	ResourceGroupId:    pulumi.String("string"),
	ClusterSpec:        pulumi.String("string"),
	DeletionProtection: pulumi.Bool(false),
	ForceUpdate:        pulumi.Bool(false),
	RetainResources: pulumi.StringArray{
		pulumi.String("string"),
	},
	IsEnterpriseSecurityGroup: pulumi.Bool(false),
	KeyName:                   pulumi.String("string"),
	LoadBalancerSpec:          pulumi.String("string"),
	Name:                      pulumi.String("string"),
	NamePrefix:                pulumi.String("string"),
	NewNatGateway:             pulumi.Bool(false),
	NodeCidrMask:              pulumi.Int(0),
	Password:                  pulumi.String("string"),
	PodCidr:                   pulumi.String("string"),
	Addons: cs.EdgeKubernetesAddonArray{
		&cs.EdgeKubernetesAddonArgs{
			Config:   pulumi.String("string"),
			Disabled: pulumi.Bool(false),
			Name:     pulumi.String("string"),
			Version:  pulumi.String("string"),
		},
	},
	ClusterCaCert: pulumi.String("string"),
	RdsInstances: pulumi.StringArray{
		pulumi.String("string"),
	},
	InstallCloudMonitor: pulumi.Bool(false),
	Runtime: &cs.EdgeKubernetesRuntimeArgs{
		Name:    pulumi.String("string"),
		Version: pulumi.String("string"),
	},
	SecurityGroupId:    pulumi.String("string"),
	ServiceCidr:        pulumi.String("string"),
	SlbInternetEnabled: pulumi.Bool(false),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	UserData: pulumi.String("string"),
	Version:  pulumi.String("string"),
	WorkerDataDisks: cs.EdgeKubernetesWorkerDataDiskArray{
		&cs.EdgeKubernetesWorkerDataDiskArgs{
			AutoSnapshotPolicyId: pulumi.String("string"),
			Category:             pulumi.String("string"),
			Device:               pulumi.String("string"),
			Encrypted:            pulumi.String("string"),
			KmsKeyId:             pulumi.String("string"),
			Name:                 pulumi.String("string"),
			PerformanceLevel:     pulumi.String("string"),
			Size:                 pulumi.String("string"),
			SnapshotId:           pulumi.String("string"),
		},
	},
	WorkerDiskCategory:         pulumi.String("string"),
	WorkerDiskPerformanceLevel: pulumi.String("string"),
	WorkerDiskSize:             pulumi.Int(0),
	WorkerDiskSnapshotPolicyId: pulumi.String("string"),
	WorkerInstanceChargeType:   pulumi.String("string"),
	ClientKey:                  pulumi.String("string"),
	ClientCert:                 pulumi.String("string"),
	AvailabilityZone:           pulumi.String("string"),
})
Copy
var edgeKubernetesResource = new EdgeKubernetes("edgeKubernetesResource", EdgeKubernetesArgs.builder()
    .workerInstanceTypes("string")
    .workerVswitchIds("string")
    .workerNumber(0)
    .proxyMode("string")
    .resourceGroupId("string")
    .clusterSpec("string")
    .deletionProtection(false)
    .forceUpdate(false)
    .retainResources("string")
    .isEnterpriseSecurityGroup(false)
    .keyName("string")
    .loadBalancerSpec("string")
    .name("string")
    .namePrefix("string")
    .newNatGateway(false)
    .nodeCidrMask(0)
    .password("string")
    .podCidr("string")
    .addons(EdgeKubernetesAddonArgs.builder()
        .config("string")
        .disabled(false)
        .name("string")
        .version("string")
        .build())
    .clusterCaCert("string")
    .rdsInstances("string")
    .installCloudMonitor(false)
    .runtime(EdgeKubernetesRuntimeArgs.builder()
        .name("string")
        .version("string")
        .build())
    .securityGroupId("string")
    .serviceCidr("string")
    .slbInternetEnabled(false)
    .tags(Map.of("string", "string"))
    .userData("string")
    .version("string")
    .workerDataDisks(EdgeKubernetesWorkerDataDiskArgs.builder()
        .autoSnapshotPolicyId("string")
        .category("string")
        .device("string")
        .encrypted("string")
        .kmsKeyId("string")
        .name("string")
        .performanceLevel("string")
        .size("string")
        .snapshotId("string")
        .build())
    .workerDiskCategory("string")
    .workerDiskPerformanceLevel("string")
    .workerDiskSize(0)
    .workerDiskSnapshotPolicyId("string")
    .workerInstanceChargeType("string")
    .clientKey("string")
    .clientCert("string")
    .availabilityZone("string")
    .build());
Copy
edge_kubernetes_resource = alicloud.cs.EdgeKubernetes("edgeKubernetesResource",
    worker_instance_types=["string"],
    worker_vswitch_ids=["string"],
    worker_number=0,
    proxy_mode="string",
    resource_group_id="string",
    cluster_spec="string",
    deletion_protection=False,
    force_update=False,
    retain_resources=["string"],
    is_enterprise_security_group=False,
    key_name="string",
    load_balancer_spec="string",
    name="string",
    name_prefix="string",
    new_nat_gateway=False,
    node_cidr_mask=0,
    password="string",
    pod_cidr="string",
    addons=[{
        "config": "string",
        "disabled": False,
        "name": "string",
        "version": "string",
    }],
    cluster_ca_cert="string",
    rds_instances=["string"],
    install_cloud_monitor=False,
    runtime={
        "name": "string",
        "version": "string",
    },
    security_group_id="string",
    service_cidr="string",
    slb_internet_enabled=False,
    tags={
        "string": "string",
    },
    user_data="string",
    version="string",
    worker_data_disks=[{
        "auto_snapshot_policy_id": "string",
        "category": "string",
        "device": "string",
        "encrypted": "string",
        "kms_key_id": "string",
        "name": "string",
        "performance_level": "string",
        "size": "string",
        "snapshot_id": "string",
    }],
    worker_disk_category="string",
    worker_disk_performance_level="string",
    worker_disk_size=0,
    worker_disk_snapshot_policy_id="string",
    worker_instance_charge_type="string",
    client_key="string",
    client_cert="string",
    availability_zone="string")
Copy
const edgeKubernetesResource = new alicloud.cs.EdgeKubernetes("edgeKubernetesResource", {
    workerInstanceTypes: ["string"],
    workerVswitchIds: ["string"],
    workerNumber: 0,
    proxyMode: "string",
    resourceGroupId: "string",
    clusterSpec: "string",
    deletionProtection: false,
    forceUpdate: false,
    retainResources: ["string"],
    isEnterpriseSecurityGroup: false,
    keyName: "string",
    loadBalancerSpec: "string",
    name: "string",
    namePrefix: "string",
    newNatGateway: false,
    nodeCidrMask: 0,
    password: "string",
    podCidr: "string",
    addons: [{
        config: "string",
        disabled: false,
        name: "string",
        version: "string",
    }],
    clusterCaCert: "string",
    rdsInstances: ["string"],
    installCloudMonitor: false,
    runtime: {
        name: "string",
        version: "string",
    },
    securityGroupId: "string",
    serviceCidr: "string",
    slbInternetEnabled: false,
    tags: {
        string: "string",
    },
    userData: "string",
    version: "string",
    workerDataDisks: [{
        autoSnapshotPolicyId: "string",
        category: "string",
        device: "string",
        encrypted: "string",
        kmsKeyId: "string",
        name: "string",
        performanceLevel: "string",
        size: "string",
        snapshotId: "string",
    }],
    workerDiskCategory: "string",
    workerDiskPerformanceLevel: "string",
    workerDiskSize: 0,
    workerDiskSnapshotPolicyId: "string",
    workerInstanceChargeType: "string",
    clientKey: "string",
    clientCert: "string",
    availabilityZone: "string",
});
Copy
type: alicloud:cs:EdgeKubernetes
properties:
    addons:
        - config: string
          disabled: false
          name: string
          version: string
    availabilityZone: string
    clientCert: string
    clientKey: string
    clusterCaCert: string
    clusterSpec: string
    deletionProtection: false
    forceUpdate: false
    installCloudMonitor: false
    isEnterpriseSecurityGroup: false
    keyName: string
    loadBalancerSpec: string
    name: string
    namePrefix: string
    newNatGateway: false
    nodeCidrMask: 0
    password: string
    podCidr: string
    proxyMode: string
    rdsInstances:
        - string
    resourceGroupId: string
    retainResources:
        - string
    runtime:
        name: string
        version: string
    securityGroupId: string
    serviceCidr: string
    slbInternetEnabled: false
    tags:
        string: string
    userData: string
    version: string
    workerDataDisks:
        - autoSnapshotPolicyId: string
          category: string
          device: string
          encrypted: string
          kmsKeyId: string
          name: string
          performanceLevel: string
          size: string
          snapshotId: string
    workerDiskCategory: string
    workerDiskPerformanceLevel: string
    workerDiskSize: 0
    workerDiskSnapshotPolicyId: string
    workerInstanceChargeType: string
    workerInstanceTypes:
        - string
    workerNumber: 0
    workerVswitchIds:
        - string
Copy

EdgeKubernetes 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 EdgeKubernetes resource accepts the following input properties:

WorkerInstanceTypes This property is required. List<string>
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
WorkerNumber This property is required. int
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
WorkerVswitchIds This property is required. List<string>
The vswitches used by workers.
Addons List<Pulumi.AliCloud.CS.Inputs.EdgeKubernetesAddon>
The addon you want to install in cluster. See addons below.
AvailabilityZone string

The ID of availability zone.

Network params

ClientCert string
The path of client certificate, like ~/.kube/client-cert.pem.
ClientKey string
The path of client key, like ~/.kube/client-key.pem.
ClusterCaCert string

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

ClusterSpec string
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
DeletionProtection bool
Whether to enable cluster deletion protection.
ForceUpdate Changes to this property will trigger replacement. bool
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
InstallCloudMonitor bool
Install cloud monitor agent on ECS. default: true.
IsEnterpriseSecurityGroup bool
Enable to create advanced security group. default: false. See Advanced security group.
KeyName string
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
KubeConfig string
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

LoadBalancerSpec string

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

LogConfig Pulumi.AliCloud.CS.Inputs.EdgeKubernetesLogConfig
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

Name string
The kubernetes cluster's name. It is unique in one Alicloud account.
NamePrefix string
NewNatGateway bool
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
NodeCidrMask int
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
Password string
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
PodCidr string
[Flannel Specific] The CIDR block for the pod network when using Flannel.
ProxyMode string
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
RdsInstances List<string>
RDS instance list, You can choose which RDS instances whitelist to add instances to.
ResourceGroupId string
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
RetainResources List<string>
Runtime Pulumi.AliCloud.CS.Inputs.EdgeKubernetesRuntime
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
SecurityGroupId string
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
ServiceCidr string
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
SlbInternetEnabled bool
Whether to create internet load balancer for API Server. Default to true.
Tags Dictionary<string, string>
Default nil, A map of tags assigned to the kubernetes cluster and work node.
UserData string
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
Version string
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
WorkerDataDisks List<Pulumi.AliCloud.CS.Inputs.EdgeKubernetesWorkerDataDisk>
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
WorkerDiskCategory string
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
WorkerDiskPerformanceLevel string
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
WorkerDiskSize int
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
WorkerDiskSnapshotPolicyId string

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

WorkerInstanceChargeType string
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.
WorkerInstanceTypes This property is required. []string
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
WorkerNumber This property is required. int
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
WorkerVswitchIds This property is required. []string
The vswitches used by workers.
Addons []EdgeKubernetesAddonArgs
The addon you want to install in cluster. See addons below.
AvailabilityZone string

The ID of availability zone.

Network params

ClientCert string
The path of client certificate, like ~/.kube/client-cert.pem.
ClientKey string
The path of client key, like ~/.kube/client-key.pem.
ClusterCaCert string

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

ClusterSpec string
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
DeletionProtection bool
Whether to enable cluster deletion protection.
ForceUpdate Changes to this property will trigger replacement. bool
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
InstallCloudMonitor bool
Install cloud monitor agent on ECS. default: true.
IsEnterpriseSecurityGroup bool
Enable to create advanced security group. default: false. See Advanced security group.
KeyName string
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
KubeConfig string
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

LoadBalancerSpec string

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

LogConfig EdgeKubernetesLogConfigArgs
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

Name string
The kubernetes cluster's name. It is unique in one Alicloud account.
NamePrefix string
NewNatGateway bool
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
NodeCidrMask int
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
Password string
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
PodCidr string
[Flannel Specific] The CIDR block for the pod network when using Flannel.
ProxyMode string
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
RdsInstances []string
RDS instance list, You can choose which RDS instances whitelist to add instances to.
ResourceGroupId string
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
RetainResources []string
Runtime EdgeKubernetesRuntimeArgs
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
SecurityGroupId string
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
ServiceCidr string
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
SlbInternetEnabled bool
Whether to create internet load balancer for API Server. Default to true.
Tags map[string]string
Default nil, A map of tags assigned to the kubernetes cluster and work node.
UserData string
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
Version string
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
WorkerDataDisks []EdgeKubernetesWorkerDataDiskArgs
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
WorkerDiskCategory string
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
WorkerDiskPerformanceLevel string
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
WorkerDiskSize int
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
WorkerDiskSnapshotPolicyId string

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

WorkerInstanceChargeType string
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.
workerInstanceTypes This property is required. List<String>
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
workerNumber This property is required. Integer
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
workerVswitchIds This property is required. List<String>
The vswitches used by workers.
addons List<EdgeKubernetesAddon>
The addon you want to install in cluster. See addons below.
availabilityZone String

The ID of availability zone.

Network params

clientCert String
The path of client certificate, like ~/.kube/client-cert.pem.
clientKey String
The path of client key, like ~/.kube/client-key.pem.
clusterCaCert String

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

clusterSpec String
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
deletionProtection Boolean
Whether to enable cluster deletion protection.
forceUpdate Changes to this property will trigger replacement. Boolean
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
installCloudMonitor Boolean
Install cloud monitor agent on ECS. default: true.
isEnterpriseSecurityGroup Boolean
Enable to create advanced security group. default: false. See Advanced security group.
keyName String
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
kubeConfig String
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

loadBalancerSpec String

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

logConfig EdgeKubernetesLogConfig
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

name String
The kubernetes cluster's name. It is unique in one Alicloud account.
namePrefix String
newNatGateway Boolean
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
nodeCidrMask Integer
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
password String
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
podCidr String
[Flannel Specific] The CIDR block for the pod network when using Flannel.
proxyMode String
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
rdsInstances List<String>
RDS instance list, You can choose which RDS instances whitelist to add instances to.
resourceGroupId String
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
retainResources List<String>
runtime EdgeKubernetesRuntime
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
securityGroupId String
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
serviceCidr String
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
slbInternetEnabled Boolean
Whether to create internet load balancer for API Server. Default to true.
tags Map<String,String>
Default nil, A map of tags assigned to the kubernetes cluster and work node.
userData String
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
version String
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
workerDataDisks List<EdgeKubernetesWorkerDataDisk>
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
workerDiskCategory String
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
workerDiskPerformanceLevel String
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
workerDiskSize Integer
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
workerDiskSnapshotPolicyId String

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

workerInstanceChargeType String
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.
workerInstanceTypes This property is required. string[]
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
workerNumber This property is required. number
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
workerVswitchIds This property is required. string[]
The vswitches used by workers.
addons EdgeKubernetesAddon[]
The addon you want to install in cluster. See addons below.
availabilityZone string

The ID of availability zone.

Network params

clientCert string
The path of client certificate, like ~/.kube/client-cert.pem.
clientKey string
The path of client key, like ~/.kube/client-key.pem.
clusterCaCert string

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

clusterSpec string
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
deletionProtection boolean
Whether to enable cluster deletion protection.
forceUpdate Changes to this property will trigger replacement. boolean
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
installCloudMonitor boolean
Install cloud monitor agent on ECS. default: true.
isEnterpriseSecurityGroup boolean
Enable to create advanced security group. default: false. See Advanced security group.
keyName string
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
kubeConfig string
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

loadBalancerSpec string

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

logConfig EdgeKubernetesLogConfig
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

name string
The kubernetes cluster's name. It is unique in one Alicloud account.
namePrefix string
newNatGateway boolean
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
nodeCidrMask number
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
password string
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
podCidr string
[Flannel Specific] The CIDR block for the pod network when using Flannel.
proxyMode string
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
rdsInstances string[]
RDS instance list, You can choose which RDS instances whitelist to add instances to.
resourceGroupId string
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
retainResources string[]
runtime EdgeKubernetesRuntime
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
securityGroupId string
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
serviceCidr string
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
slbInternetEnabled boolean
Whether to create internet load balancer for API Server. Default to true.
tags {[key: string]: string}
Default nil, A map of tags assigned to the kubernetes cluster and work node.
userData string
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
version string
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
workerDataDisks EdgeKubernetesWorkerDataDisk[]
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
workerDiskCategory string
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
workerDiskPerformanceLevel string
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
workerDiskSize number
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
workerDiskSnapshotPolicyId string

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

workerInstanceChargeType string
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.
worker_instance_types This property is required. Sequence[str]
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
worker_number This property is required. int
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
worker_vswitch_ids This property is required. Sequence[str]
The vswitches used by workers.
addons Sequence[EdgeKubernetesAddonArgs]
The addon you want to install in cluster. See addons below.
availability_zone str

The ID of availability zone.

Network params

client_cert str
The path of client certificate, like ~/.kube/client-cert.pem.
client_key str
The path of client key, like ~/.kube/client-key.pem.
cluster_ca_cert str

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

cluster_spec str
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
deletion_protection bool
Whether to enable cluster deletion protection.
force_update Changes to this property will trigger replacement. bool
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
install_cloud_monitor bool
Install cloud monitor agent on ECS. default: true.
is_enterprise_security_group bool
Enable to create advanced security group. default: false. See Advanced security group.
key_name str
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
kube_config str
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

load_balancer_spec str

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

log_config EdgeKubernetesLogConfigArgs
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

name str
The kubernetes cluster's name. It is unique in one Alicloud account.
name_prefix str
new_nat_gateway bool
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
node_cidr_mask int
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
password str
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
pod_cidr str
[Flannel Specific] The CIDR block for the pod network when using Flannel.
proxy_mode str
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
rds_instances Sequence[str]
RDS instance list, You can choose which RDS instances whitelist to add instances to.
resource_group_id str
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
retain_resources Sequence[str]
runtime EdgeKubernetesRuntimeArgs
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
security_group_id str
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
service_cidr str
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
slb_internet_enabled bool
Whether to create internet load balancer for API Server. Default to true.
tags Mapping[str, str]
Default nil, A map of tags assigned to the kubernetes cluster and work node.
user_data str
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
version str
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
worker_data_disks Sequence[EdgeKubernetesWorkerDataDiskArgs]
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
worker_disk_category str
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
worker_disk_performance_level str
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
worker_disk_size int
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
worker_disk_snapshot_policy_id str

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

worker_instance_charge_type str
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.
workerInstanceTypes This property is required. List<String>
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
workerNumber This property is required. Number
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
workerVswitchIds This property is required. List<String>
The vswitches used by workers.
addons List<Property Map>
The addon you want to install in cluster. See addons below.
availabilityZone String

The ID of availability zone.

Network params

clientCert String
The path of client certificate, like ~/.kube/client-cert.pem.
clientKey String
The path of client key, like ~/.kube/client-key.pem.
clusterCaCert String

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

clusterSpec String
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
deletionProtection Boolean
Whether to enable cluster deletion protection.
forceUpdate Changes to this property will trigger replacement. Boolean
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
installCloudMonitor Boolean
Install cloud monitor agent on ECS. default: true.
isEnterpriseSecurityGroup Boolean
Enable to create advanced security group. default: false. See Advanced security group.
keyName String
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
kubeConfig String
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

loadBalancerSpec String

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

logConfig Property Map
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

name String
The kubernetes cluster's name. It is unique in one Alicloud account.
namePrefix String
newNatGateway Boolean
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
nodeCidrMask Number
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
password String
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
podCidr String
[Flannel Specific] The CIDR block for the pod network when using Flannel.
proxyMode String
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
rdsInstances List<String>
RDS instance list, You can choose which RDS instances whitelist to add instances to.
resourceGroupId String
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
retainResources List<String>
runtime Property Map
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
securityGroupId String
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
serviceCidr String
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
slbInternetEnabled Boolean
Whether to create internet load balancer for API Server. Default to true.
tags Map<String>
Default nil, A map of tags assigned to the kubernetes cluster and work node.
userData String
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
version String
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
workerDataDisks List<Property Map>
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
workerDiskCategory String
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
workerDiskPerformanceLevel String
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
workerDiskSize Number
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
workerDiskSnapshotPolicyId String

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

workerInstanceChargeType String
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.

Outputs

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

CertificateAuthority Pulumi.AliCloud.CS.Outputs.EdgeKubernetesCertificateAuthority
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
Connections Pulumi.AliCloud.CS.Outputs.EdgeKubernetesConnections
(Map) Map of kubernetes cluster connection information.
Id string
The provider-assigned unique ID for this managed resource.
NatGatewayId string
The ID of nat gateway used to launch kubernetes cluster.
SlbInternet string
The public ip of load balancer.
SlbIntranet string
The ID of private load balancer where the current cluster master node is located.
VpcId string
The ID of VPC where the current cluster is located.
WorkerNodes List<Pulumi.AliCloud.CS.Outputs.EdgeKubernetesWorkerNode>
List of cluster worker nodes.
WorkerRamRoleName string
The RamRole Name attached to worker node.
CertificateAuthority EdgeKubernetesCertificateAuthority
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
Connections EdgeKubernetesConnections
(Map) Map of kubernetes cluster connection information.
Id string
The provider-assigned unique ID for this managed resource.
NatGatewayId string
The ID of nat gateway used to launch kubernetes cluster.
SlbInternet string
The public ip of load balancer.
SlbIntranet string
The ID of private load balancer where the current cluster master node is located.
VpcId string
The ID of VPC where the current cluster is located.
WorkerNodes []EdgeKubernetesWorkerNode
List of cluster worker nodes.
WorkerRamRoleName string
The RamRole Name attached to worker node.
certificateAuthority EdgeKubernetesCertificateAuthority
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
connections EdgeKubernetesConnections
(Map) Map of kubernetes cluster connection information.
id String
The provider-assigned unique ID for this managed resource.
natGatewayId String
The ID of nat gateway used to launch kubernetes cluster.
slbInternet String
The public ip of load balancer.
slbIntranet String
The ID of private load balancer where the current cluster master node is located.
vpcId String
The ID of VPC where the current cluster is located.
workerNodes List<EdgeKubernetesWorkerNode>
List of cluster worker nodes.
workerRamRoleName String
The RamRole Name attached to worker node.
certificateAuthority EdgeKubernetesCertificateAuthority
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
connections EdgeKubernetesConnections
(Map) Map of kubernetes cluster connection information.
id string
The provider-assigned unique ID for this managed resource.
natGatewayId string
The ID of nat gateway used to launch kubernetes cluster.
slbInternet string
The public ip of load balancer.
slbIntranet string
The ID of private load balancer where the current cluster master node is located.
vpcId string
The ID of VPC where the current cluster is located.
workerNodes EdgeKubernetesWorkerNode[]
List of cluster worker nodes.
workerRamRoleName string
The RamRole Name attached to worker node.
certificate_authority EdgeKubernetesCertificateAuthority
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
connections EdgeKubernetesConnections
(Map) Map of kubernetes cluster connection information.
id str
The provider-assigned unique ID for this managed resource.
nat_gateway_id str
The ID of nat gateway used to launch kubernetes cluster.
slb_internet str
The public ip of load balancer.
slb_intranet str
The ID of private load balancer where the current cluster master node is located.
vpc_id str
The ID of VPC where the current cluster is located.
worker_nodes Sequence[EdgeKubernetesWorkerNode]
List of cluster worker nodes.
worker_ram_role_name str
The RamRole Name attached to worker node.
certificateAuthority Property Map
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
connections Property Map
(Map) Map of kubernetes cluster connection information.
id String
The provider-assigned unique ID for this managed resource.
natGatewayId String
The ID of nat gateway used to launch kubernetes cluster.
slbInternet String
The public ip of load balancer.
slbIntranet String
The ID of private load balancer where the current cluster master node is located.
vpcId String
The ID of VPC where the current cluster is located.
workerNodes List<Property Map>
List of cluster worker nodes.
workerRamRoleName String
The RamRole Name attached to worker node.

Look up Existing EdgeKubernetes Resource

Get an existing EdgeKubernetes 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?: EdgeKubernetesState, opts?: CustomResourceOptions): EdgeKubernetes
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        addons: Optional[Sequence[EdgeKubernetesAddonArgs]] = None,
        availability_zone: Optional[str] = None,
        certificate_authority: Optional[EdgeKubernetesCertificateAuthorityArgs] = None,
        client_cert: Optional[str] = None,
        client_key: Optional[str] = None,
        cluster_ca_cert: Optional[str] = None,
        cluster_spec: Optional[str] = None,
        connections: Optional[EdgeKubernetesConnectionsArgs] = None,
        deletion_protection: Optional[bool] = None,
        force_update: Optional[bool] = None,
        install_cloud_monitor: Optional[bool] = None,
        is_enterprise_security_group: Optional[bool] = None,
        key_name: Optional[str] = None,
        kube_config: Optional[str] = None,
        load_balancer_spec: Optional[str] = None,
        log_config: Optional[EdgeKubernetesLogConfigArgs] = None,
        name: Optional[str] = None,
        name_prefix: Optional[str] = None,
        nat_gateway_id: Optional[str] = None,
        new_nat_gateway: Optional[bool] = None,
        node_cidr_mask: Optional[int] = None,
        password: Optional[str] = None,
        pod_cidr: Optional[str] = None,
        proxy_mode: Optional[str] = None,
        rds_instances: Optional[Sequence[str]] = None,
        resource_group_id: Optional[str] = None,
        retain_resources: Optional[Sequence[str]] = None,
        runtime: Optional[EdgeKubernetesRuntimeArgs] = None,
        security_group_id: Optional[str] = None,
        service_cidr: Optional[str] = None,
        slb_internet: Optional[str] = None,
        slb_internet_enabled: Optional[bool] = None,
        slb_intranet: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        user_data: Optional[str] = None,
        version: Optional[str] = None,
        vpc_id: Optional[str] = None,
        worker_data_disks: Optional[Sequence[EdgeKubernetesWorkerDataDiskArgs]] = None,
        worker_disk_category: Optional[str] = None,
        worker_disk_performance_level: Optional[str] = None,
        worker_disk_size: Optional[int] = None,
        worker_disk_snapshot_policy_id: Optional[str] = None,
        worker_instance_charge_type: Optional[str] = None,
        worker_instance_types: Optional[Sequence[str]] = None,
        worker_nodes: Optional[Sequence[EdgeKubernetesWorkerNodeArgs]] = None,
        worker_number: Optional[int] = None,
        worker_ram_role_name: Optional[str] = None,
        worker_vswitch_ids: Optional[Sequence[str]] = None) -> EdgeKubernetes
func GetEdgeKubernetes(ctx *Context, name string, id IDInput, state *EdgeKubernetesState, opts ...ResourceOption) (*EdgeKubernetes, error)
public static EdgeKubernetes Get(string name, Input<string> id, EdgeKubernetesState? state, CustomResourceOptions? opts = null)
public static EdgeKubernetes get(String name, Output<String> id, EdgeKubernetesState state, CustomResourceOptions options)
resources:  _:    type: alicloud:cs:EdgeKubernetes    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Addons List<Pulumi.AliCloud.CS.Inputs.EdgeKubernetesAddon>
The addon you want to install in cluster. See addons below.
AvailabilityZone string

The ID of availability zone.

Network params

CertificateAuthority Pulumi.AliCloud.CS.Inputs.EdgeKubernetesCertificateAuthority
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
ClientCert string
The path of client certificate, like ~/.kube/client-cert.pem.
ClientKey string
The path of client key, like ~/.kube/client-key.pem.
ClusterCaCert string

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

ClusterSpec string
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
Connections Pulumi.AliCloud.CS.Inputs.EdgeKubernetesConnections
(Map) Map of kubernetes cluster connection information.
DeletionProtection bool
Whether to enable cluster deletion protection.
ForceUpdate Changes to this property will trigger replacement. bool
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
InstallCloudMonitor bool
Install cloud monitor agent on ECS. default: true.
IsEnterpriseSecurityGroup bool
Enable to create advanced security group. default: false. See Advanced security group.
KeyName string
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
KubeConfig string
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

LoadBalancerSpec string

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

LogConfig Pulumi.AliCloud.CS.Inputs.EdgeKubernetesLogConfig
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

Name string
The kubernetes cluster's name. It is unique in one Alicloud account.
NamePrefix string
NatGatewayId string
The ID of nat gateway used to launch kubernetes cluster.
NewNatGateway bool
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
NodeCidrMask int
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
Password string
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
PodCidr string
[Flannel Specific] The CIDR block for the pod network when using Flannel.
ProxyMode string
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
RdsInstances List<string>
RDS instance list, You can choose which RDS instances whitelist to add instances to.
ResourceGroupId string
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
RetainResources List<string>
Runtime Pulumi.AliCloud.CS.Inputs.EdgeKubernetesRuntime
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
SecurityGroupId string
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
ServiceCidr string
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
SlbInternet string
The public ip of load balancer.
SlbInternetEnabled bool
Whether to create internet load balancer for API Server. Default to true.
SlbIntranet string
The ID of private load balancer where the current cluster master node is located.
Tags Dictionary<string, string>
Default nil, A map of tags assigned to the kubernetes cluster and work node.
UserData string
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
Version string
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
VpcId string
The ID of VPC where the current cluster is located.
WorkerDataDisks List<Pulumi.AliCloud.CS.Inputs.EdgeKubernetesWorkerDataDisk>
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
WorkerDiskCategory string
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
WorkerDiskPerformanceLevel string
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
WorkerDiskSize int
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
WorkerDiskSnapshotPolicyId string

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

WorkerInstanceChargeType string
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.
WorkerInstanceTypes List<string>
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
WorkerNodes List<Pulumi.AliCloud.CS.Inputs.EdgeKubernetesWorkerNode>
List of cluster worker nodes.
WorkerNumber int
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
WorkerRamRoleName string
The RamRole Name attached to worker node.
WorkerVswitchIds List<string>
The vswitches used by workers.
Addons []EdgeKubernetesAddonArgs
The addon you want to install in cluster. See addons below.
AvailabilityZone string

The ID of availability zone.

Network params

CertificateAuthority EdgeKubernetesCertificateAuthorityArgs
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
ClientCert string
The path of client certificate, like ~/.kube/client-cert.pem.
ClientKey string
The path of client key, like ~/.kube/client-key.pem.
ClusterCaCert string

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

ClusterSpec string
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
Connections EdgeKubernetesConnectionsArgs
(Map) Map of kubernetes cluster connection information.
DeletionProtection bool
Whether to enable cluster deletion protection.
ForceUpdate Changes to this property will trigger replacement. bool
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
InstallCloudMonitor bool
Install cloud monitor agent on ECS. default: true.
IsEnterpriseSecurityGroup bool
Enable to create advanced security group. default: false. See Advanced security group.
KeyName string
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
KubeConfig string
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

LoadBalancerSpec string

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

LogConfig EdgeKubernetesLogConfigArgs
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

Name string
The kubernetes cluster's name. It is unique in one Alicloud account.
NamePrefix string
NatGatewayId string
The ID of nat gateway used to launch kubernetes cluster.
NewNatGateway bool
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
NodeCidrMask int
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
Password string
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
PodCidr string
[Flannel Specific] The CIDR block for the pod network when using Flannel.
ProxyMode string
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
RdsInstances []string
RDS instance list, You can choose which RDS instances whitelist to add instances to.
ResourceGroupId string
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
RetainResources []string
Runtime EdgeKubernetesRuntimeArgs
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
SecurityGroupId string
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
ServiceCidr string
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
SlbInternet string
The public ip of load balancer.
SlbInternetEnabled bool
Whether to create internet load balancer for API Server. Default to true.
SlbIntranet string
The ID of private load balancer where the current cluster master node is located.
Tags map[string]string
Default nil, A map of tags assigned to the kubernetes cluster and work node.
UserData string
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
Version string
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
VpcId string
The ID of VPC where the current cluster is located.
WorkerDataDisks []EdgeKubernetesWorkerDataDiskArgs
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
WorkerDiskCategory string
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
WorkerDiskPerformanceLevel string
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
WorkerDiskSize int
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
WorkerDiskSnapshotPolicyId string

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

WorkerInstanceChargeType string
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.
WorkerInstanceTypes []string
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
WorkerNodes []EdgeKubernetesWorkerNodeArgs
List of cluster worker nodes.
WorkerNumber int
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
WorkerRamRoleName string
The RamRole Name attached to worker node.
WorkerVswitchIds []string
The vswitches used by workers.
addons List<EdgeKubernetesAddon>
The addon you want to install in cluster. See addons below.
availabilityZone String

The ID of availability zone.

Network params

certificateAuthority EdgeKubernetesCertificateAuthority
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
clientCert String
The path of client certificate, like ~/.kube/client-cert.pem.
clientKey String
The path of client key, like ~/.kube/client-key.pem.
clusterCaCert String

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

clusterSpec String
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
connections EdgeKubernetesConnections
(Map) Map of kubernetes cluster connection information.
deletionProtection Boolean
Whether to enable cluster deletion protection.
forceUpdate Changes to this property will trigger replacement. Boolean
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
installCloudMonitor Boolean
Install cloud monitor agent on ECS. default: true.
isEnterpriseSecurityGroup Boolean
Enable to create advanced security group. default: false. See Advanced security group.
keyName String
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
kubeConfig String
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

loadBalancerSpec String

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

logConfig EdgeKubernetesLogConfig
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

name String
The kubernetes cluster's name. It is unique in one Alicloud account.
namePrefix String
natGatewayId String
The ID of nat gateway used to launch kubernetes cluster.
newNatGateway Boolean
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
nodeCidrMask Integer
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
password String
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
podCidr String
[Flannel Specific] The CIDR block for the pod network when using Flannel.
proxyMode String
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
rdsInstances List<String>
RDS instance list, You can choose which RDS instances whitelist to add instances to.
resourceGroupId String
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
retainResources List<String>
runtime EdgeKubernetesRuntime
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
securityGroupId String
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
serviceCidr String
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
slbInternet String
The public ip of load balancer.
slbInternetEnabled Boolean
Whether to create internet load balancer for API Server. Default to true.
slbIntranet String
The ID of private load balancer where the current cluster master node is located.
tags Map<String,String>
Default nil, A map of tags assigned to the kubernetes cluster and work node.
userData String
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
version String
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
vpcId String
The ID of VPC where the current cluster is located.
workerDataDisks List<EdgeKubernetesWorkerDataDisk>
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
workerDiskCategory String
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
workerDiskPerformanceLevel String
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
workerDiskSize Integer
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
workerDiskSnapshotPolicyId String

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

workerInstanceChargeType String
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.
workerInstanceTypes List<String>
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
workerNodes List<EdgeKubernetesWorkerNode>
List of cluster worker nodes.
workerNumber Integer
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
workerRamRoleName String
The RamRole Name attached to worker node.
workerVswitchIds List<String>
The vswitches used by workers.
addons EdgeKubernetesAddon[]
The addon you want to install in cluster. See addons below.
availabilityZone string

The ID of availability zone.

Network params

certificateAuthority EdgeKubernetesCertificateAuthority
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
clientCert string
The path of client certificate, like ~/.kube/client-cert.pem.
clientKey string
The path of client key, like ~/.kube/client-key.pem.
clusterCaCert string

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

clusterSpec string
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
connections EdgeKubernetesConnections
(Map) Map of kubernetes cluster connection information.
deletionProtection boolean
Whether to enable cluster deletion protection.
forceUpdate Changes to this property will trigger replacement. boolean
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
installCloudMonitor boolean
Install cloud monitor agent on ECS. default: true.
isEnterpriseSecurityGroup boolean
Enable to create advanced security group. default: false. See Advanced security group.
keyName string
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
kubeConfig string
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

loadBalancerSpec string

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

logConfig EdgeKubernetesLogConfig
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

name string
The kubernetes cluster's name. It is unique in one Alicloud account.
namePrefix string
natGatewayId string
The ID of nat gateway used to launch kubernetes cluster.
newNatGateway boolean
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
nodeCidrMask number
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
password string
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
podCidr string
[Flannel Specific] The CIDR block for the pod network when using Flannel.
proxyMode string
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
rdsInstances string[]
RDS instance list, You can choose which RDS instances whitelist to add instances to.
resourceGroupId string
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
retainResources string[]
runtime EdgeKubernetesRuntime
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
securityGroupId string
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
serviceCidr string
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
slbInternet string
The public ip of load balancer.
slbInternetEnabled boolean
Whether to create internet load balancer for API Server. Default to true.
slbIntranet string
The ID of private load balancer where the current cluster master node is located.
tags {[key: string]: string}
Default nil, A map of tags assigned to the kubernetes cluster and work node.
userData string
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
version string
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
vpcId string
The ID of VPC where the current cluster is located.
workerDataDisks EdgeKubernetesWorkerDataDisk[]
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
workerDiskCategory string
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
workerDiskPerformanceLevel string
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
workerDiskSize number
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
workerDiskSnapshotPolicyId string

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

workerInstanceChargeType string
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.
workerInstanceTypes string[]
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
workerNodes EdgeKubernetesWorkerNode[]
List of cluster worker nodes.
workerNumber number
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
workerRamRoleName string
The RamRole Name attached to worker node.
workerVswitchIds string[]
The vswitches used by workers.
addons Sequence[EdgeKubernetesAddonArgs]
The addon you want to install in cluster. See addons below.
availability_zone str

The ID of availability zone.

Network params

certificate_authority EdgeKubernetesCertificateAuthorityArgs
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
client_cert str
The path of client certificate, like ~/.kube/client-cert.pem.
client_key str
The path of client key, like ~/.kube/client-key.pem.
cluster_ca_cert str

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

cluster_spec str
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
connections EdgeKubernetesConnectionsArgs
(Map) Map of kubernetes cluster connection information.
deletion_protection bool
Whether to enable cluster deletion protection.
force_update Changes to this property will trigger replacement. bool
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
install_cloud_monitor bool
Install cloud monitor agent on ECS. default: true.
is_enterprise_security_group bool
Enable to create advanced security group. default: false. See Advanced security group.
key_name str
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
kube_config str
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

load_balancer_spec str

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

log_config EdgeKubernetesLogConfigArgs
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

name str
The kubernetes cluster's name. It is unique in one Alicloud account.
name_prefix str
nat_gateway_id str
The ID of nat gateway used to launch kubernetes cluster.
new_nat_gateway bool
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
node_cidr_mask int
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
password str
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
pod_cidr str
[Flannel Specific] The CIDR block for the pod network when using Flannel.
proxy_mode str
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
rds_instances Sequence[str]
RDS instance list, You can choose which RDS instances whitelist to add instances to.
resource_group_id str
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
retain_resources Sequence[str]
runtime EdgeKubernetesRuntimeArgs
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
security_group_id str
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
service_cidr str
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
slb_internet str
The public ip of load balancer.
slb_internet_enabled bool
Whether to create internet load balancer for API Server. Default to true.
slb_intranet str
The ID of private load balancer where the current cluster master node is located.
tags Mapping[str, str]
Default nil, A map of tags assigned to the kubernetes cluster and work node.
user_data str
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
version str
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
vpc_id str
The ID of VPC where the current cluster is located.
worker_data_disks Sequence[EdgeKubernetesWorkerDataDiskArgs]
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
worker_disk_category str
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
worker_disk_performance_level str
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
worker_disk_size int
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
worker_disk_snapshot_policy_id str

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

worker_instance_charge_type str
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.
worker_instance_types Sequence[str]
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
worker_nodes Sequence[EdgeKubernetesWorkerNodeArgs]
List of cluster worker nodes.
worker_number int
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
worker_ram_role_name str
The RamRole Name attached to worker node.
worker_vswitch_ids Sequence[str]
The vswitches used by workers.
addons List<Property Map>
The addon you want to install in cluster. See addons below.
availabilityZone String

The ID of availability zone.

Network params

certificateAuthority Property Map
(Map, Available since v1.105.0) Nested attribute containing certificate authority data for your cluster.
clientCert String
The path of client certificate, like ~/.kube/client-cert.pem.
clientKey String
The path of client key, like ~/.kube/client-key.pem.
clusterCaCert String

The path of cluster ca certificate, like ~/.kube/cluster-ca-cert.pem

Removed params

clusterSpec String
The cluster specifications of kubernetes cluster,which can be empty. Valid values:

  • ack.standard : Standard edge clusters.
  • ack.pro.small : Professional edge clusters.
connections Property Map
(Map) Map of kubernetes cluster connection information.
deletionProtection Boolean
Whether to enable cluster deletion protection.
forceUpdate Changes to this property will trigger replacement. Boolean
Default false, when you want to change vpc_id, you have to set this field to true, then the cluster will be recreated.
installCloudMonitor Boolean
Install cloud monitor agent on ECS. default: true.
isEnterpriseSecurityGroup Boolean
Enable to create advanced security group. default: false. See Advanced security group.
keyName String
The keypair of ssh login cluster node, you have to create it first. You have to specify one of password key_name kms_encrypted_password fields.
kubeConfig String
The path of kube config, like ~/.kube/config.

Deprecated: Field 'kube_config' has been deprecated from provider version 1.187.0. New DataSource 'alicloud_cs_cluster_credential' manage your cluster's kube config.

loadBalancerSpec String

The cluster api server load balance instance specification. For more information on how to select a LB instance specification, see SLB instance overview. ->NOTE: If you want to use Flannel as CNI network plugin, You need to specific the pod_cidr field and addons with flannel.

Worker params

logConfig Property Map
A list of one element containing information about the associated log store. See log_config below.

Deprecated: Field 'log_config' has been removed from provider version 1.103.0. New field 'addons' replaces it.

name String
The kubernetes cluster's name. It is unique in one Alicloud account.
namePrefix String
natGatewayId String
The ID of nat gateway used to launch kubernetes cluster.
newNatGateway Boolean
Whether to create a new nat gateway while creating kubernetes cluster. Default to true. Then openapi in Alibaba Cloud are not all on intranet, So turn this option on is a good choice.
nodeCidrMask Number
The node cidr block to specific how many pods can run on single node. 24-28 is allowed. 24 means 2^(32-24)-1=255 and the node can run at most 255 pods. default: 24
password String
The password of ssh login cluster node. You have to specify one of password, key_name kms_encrypted_password fields.
podCidr String
[Flannel Specific] The CIDR block for the pod network when using Flannel.
proxyMode String
Proxy mode is option of kube-proxy. options: iptables|ipvs. default: ipvs.
rdsInstances List<String>
RDS instance list, You can choose which RDS instances whitelist to add instances to.
resourceGroupId String
The ID of the resource group,by default these cloud resources are automatically assigned to the default resource group.
retainResources List<String>
runtime Property Map
The runtime of containers. If you select another container runtime, see Comparison of Docker, containerd, and Sandboxed-Container. See runtime below.
securityGroupId String
The ID of the security group to which the ECS instances in the cluster belong. If it is not specified, a new Security group will be built.
serviceCidr String
The CIDR block for the service network. It cannot be duplicated with the VPC CIDR and CIDR used by Kubernetes cluster in VPC, cannot be modified after creation.
slbInternet String
The public ip of load balancer.
slbInternetEnabled Boolean
Whether to create internet load balancer for API Server. Default to true.
slbIntranet String
The ID of private load balancer where the current cluster master node is located.
tags Map<String>
Default nil, A map of tags assigned to the kubernetes cluster and work node.
userData String
Windows instances support batch and PowerShell scripts. If your script file is larger than 1 KB, we recommend that you upload the script to Object Storage Service (OSS) and pull it through the internal endpoint of your OSS bucket.
version String
Desired Kubernetes version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except you set a higher version number. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by ACK.
vpcId String
The ID of VPC where the current cluster is located.
workerDataDisks List<Property Map>
The data disk configurations of worker nodes, such as the disk type and disk size. See worker_data_disks below.
workerDiskCategory String
The system disk category of worker node. Its valid value are cloud_efficiency, cloud_ssd and cloud_essd and . Default to cloud_efficiency.
workerDiskPerformanceLevel String
Worker node system disk performance level, when worker_disk_category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
workerDiskSize Number
The system disk size of worker node. Its valid value range [20~32768] in GB. Default to 40.
workerDiskSnapshotPolicyId String

Worker node system disk auto snapshot policy.

Computed params

You can set some file paths to save kube_config information, but this way is cumbersome. Since version 1.105.0, we've written it to tf state file. About its use,see export attribute certificate_authority. From version 1.187.0+, new DataSource alicloud.cs.getClusterCredential is recommended to manage cluster's kube_config.

workerInstanceChargeType String
Worker payment type, its valid value is PostPaid. Defaults to PostPaid. More charge details in ACK@edge charge.
workerInstanceTypes List<String>
The instance types of worker node, you can set multiple types to avoid NoStock of a certain type.
workerNodes List<Property Map>
List of cluster worker nodes.
workerNumber Number
The cloud worker node number of the edge kubernetes cluster. Default to 1. It is limited up to 50 and if you want to enlarge it, please apply white list or contact with us.
workerRamRoleName String
The RamRole Name attached to worker node.
workerVswitchIds List<String>
The vswitches used by workers.

Supporting Types

EdgeKubernetesAddon
, EdgeKubernetesAddonArgs

Config string
The ACK add-on configurations. For more config information, see cs_kubernetes_addon_metadata.
Disabled bool

Disables the automatic installation of a component. Default is false.

The following example is the definition of addons block, The type of this field is list:

# install nginx ingress, conflict with SLB ingress
addons {
name = "nginx-ingress-controller"
# use internet
config = "{\"IngressSlbNetworkType\":\"internet",\"IngressSlbSpec\":\"slb.s2.small\"}"
# if use intranet, detail below.
# config = "{\"IngressSlbNetworkType\":\"intranet",\"IngressSlbSpec\":\"slb.s2.small\"}"
}
Name string
Name of the ACK add-on. The name must match one of the names returned by DescribeAddons.
Version string
It specifies the version of the component.
Config string
The ACK add-on configurations. For more config information, see cs_kubernetes_addon_metadata.
Disabled bool

Disables the automatic installation of a component. Default is false.

The following example is the definition of addons block, The type of this field is list:

# install nginx ingress, conflict with SLB ingress
addons {
name = "nginx-ingress-controller"
# use internet
config = "{\"IngressSlbNetworkType\":\"internet",\"IngressSlbSpec\":\"slb.s2.small\"}"
# if use intranet, detail below.
# config = "{\"IngressSlbNetworkType\":\"intranet",\"IngressSlbSpec\":\"slb.s2.small\"}"
}
Name string
Name of the ACK add-on. The name must match one of the names returned by DescribeAddons.
Version string
It specifies the version of the component.
config String
The ACK add-on configurations. For more config information, see cs_kubernetes_addon_metadata.
disabled Boolean

Disables the automatic installation of a component. Default is false.

The following example is the definition of addons block, The type of this field is list:

# install nginx ingress, conflict with SLB ingress
addons {
name = "nginx-ingress-controller"
# use internet
config = "{\"IngressSlbNetworkType\":\"internet",\"IngressSlbSpec\":\"slb.s2.small\"}"
# if use intranet, detail below.
# config = "{\"IngressSlbNetworkType\":\"intranet",\"IngressSlbSpec\":\"slb.s2.small\"}"
}
name String
Name of the ACK add-on. The name must match one of the names returned by DescribeAddons.
version String
It specifies the version of the component.
config string
The ACK add-on configurations. For more config information, see cs_kubernetes_addon_metadata.
disabled boolean

Disables the automatic installation of a component. Default is false.

The following example is the definition of addons block, The type of this field is list:

# install nginx ingress, conflict with SLB ingress
addons {
name = "nginx-ingress-controller"
# use internet
config = "{\"IngressSlbNetworkType\":\"internet",\"IngressSlbSpec\":\"slb.s2.small\"}"
# if use intranet, detail below.
# config = "{\"IngressSlbNetworkType\":\"intranet",\"IngressSlbSpec\":\"slb.s2.small\"}"
}
name string
Name of the ACK add-on. The name must match one of the names returned by DescribeAddons.
version string
It specifies the version of the component.
config str
The ACK add-on configurations. For more config information, see cs_kubernetes_addon_metadata.
disabled bool

Disables the automatic installation of a component. Default is false.

The following example is the definition of addons block, The type of this field is list:

# install nginx ingress, conflict with SLB ingress
addons {
name = "nginx-ingress-controller"
# use internet
config = "{\"IngressSlbNetworkType\":\"internet",\"IngressSlbSpec\":\"slb.s2.small\"}"
# if use intranet, detail below.
# config = "{\"IngressSlbNetworkType\":\"intranet",\"IngressSlbSpec\":\"slb.s2.small\"}"
}
name str
Name of the ACK add-on. The name must match one of the names returned by DescribeAddons.
version str
It specifies the version of the component.
config String
The ACK add-on configurations. For more config information, see cs_kubernetes_addon_metadata.
disabled Boolean

Disables the automatic installation of a component. Default is false.

The following example is the definition of addons block, The type of this field is list:

# install nginx ingress, conflict with SLB ingress
addons {
name = "nginx-ingress-controller"
# use internet
config = "{\"IngressSlbNetworkType\":\"internet",\"IngressSlbSpec\":\"slb.s2.small\"}"
# if use intranet, detail below.
# config = "{\"IngressSlbNetworkType\":\"intranet",\"IngressSlbSpec\":\"slb.s2.small\"}"
}
name String
Name of the ACK add-on. The name must match one of the names returned by DescribeAddons.
version String
It specifies the version of the component.

EdgeKubernetesCertificateAuthority
, EdgeKubernetesCertificateAuthorityArgs

ClientCert string
The path of client certificate, like ~/.kube/client-cert.pem.
ClientKey string
The path of client key, like ~/.kube/client-key.pem.
ClusterCert string
The base64 encoded cluster certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.
ClientCert string
The path of client certificate, like ~/.kube/client-cert.pem.
ClientKey string
The path of client key, like ~/.kube/client-key.pem.
ClusterCert string
The base64 encoded cluster certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.
clientCert String
The path of client certificate, like ~/.kube/client-cert.pem.
clientKey String
The path of client key, like ~/.kube/client-key.pem.
clusterCert String
The base64 encoded cluster certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.
clientCert string
The path of client certificate, like ~/.kube/client-cert.pem.
clientKey string
The path of client key, like ~/.kube/client-key.pem.
clusterCert string
The base64 encoded cluster certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.
client_cert str
The path of client certificate, like ~/.kube/client-cert.pem.
client_key str
The path of client key, like ~/.kube/client-key.pem.
cluster_cert str
The base64 encoded cluster certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.
clientCert String
The path of client certificate, like ~/.kube/client-cert.pem.
clientKey String
The path of client key, like ~/.kube/client-key.pem.
clusterCert String
The base64 encoded cluster certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.

EdgeKubernetesConnections
, EdgeKubernetesConnectionsArgs

ApiServerInternet string
API Server Internet endpoint.
ApiServerIntranet string
API Server Intranet endpoint.
MasterPublicIp string
Master node SSH IP address.
ServiceDomain string
Service Access Domain.
ApiServerInternet string
API Server Internet endpoint.
ApiServerIntranet string
API Server Intranet endpoint.
MasterPublicIp string
Master node SSH IP address.
ServiceDomain string
Service Access Domain.
apiServerInternet String
API Server Internet endpoint.
apiServerIntranet String
API Server Intranet endpoint.
masterPublicIp String
Master node SSH IP address.
serviceDomain String
Service Access Domain.
apiServerInternet string
API Server Internet endpoint.
apiServerIntranet string
API Server Intranet endpoint.
masterPublicIp string
Master node SSH IP address.
serviceDomain string
Service Access Domain.
api_server_internet str
API Server Internet endpoint.
api_server_intranet str
API Server Intranet endpoint.
master_public_ip str
Master node SSH IP address.
service_domain str
Service Access Domain.
apiServerInternet String
API Server Internet endpoint.
apiServerIntranet String
API Server Intranet endpoint.
masterPublicIp String
Master node SSH IP address.
serviceDomain String
Service Access Domain.

EdgeKubernetesLogConfig
, EdgeKubernetesLogConfigArgs

Type This property is required. string
Type of collecting logs, only SLS are supported currently.
Project string
Log Service project name, cluster logs will output to this project.
Type This property is required. string
Type of collecting logs, only SLS are supported currently.
Project string
Log Service project name, cluster logs will output to this project.
type This property is required. String
Type of collecting logs, only SLS are supported currently.
project String
Log Service project name, cluster logs will output to this project.
type This property is required. string
Type of collecting logs, only SLS are supported currently.
project string
Log Service project name, cluster logs will output to this project.
type This property is required. str
Type of collecting logs, only SLS are supported currently.
project str
Log Service project name, cluster logs will output to this project.
type This property is required. String
Type of collecting logs, only SLS are supported currently.
project String
Log Service project name, cluster logs will output to this project.

EdgeKubernetesRuntime
, EdgeKubernetesRuntimeArgs

Name string
The name of the runtime. Supported runtimes can be queried by data source alicloud_cs_kubernetes_version.
Version string

The version of the runtime.

The following example is the definition of runtime block:

runtime = {
name = "containerd"
version = "1.6.28"
}
Name string
The name of the runtime. Supported runtimes can be queried by data source alicloud_cs_kubernetes_version.
Version string

The version of the runtime.

The following example is the definition of runtime block:

runtime = {
name = "containerd"
version = "1.6.28"
}
name String
The name of the runtime. Supported runtimes can be queried by data source alicloud_cs_kubernetes_version.
version String

The version of the runtime.

The following example is the definition of runtime block:

runtime = {
name = "containerd"
version = "1.6.28"
}
name string
The name of the runtime. Supported runtimes can be queried by data source alicloud_cs_kubernetes_version.
version string

The version of the runtime.

The following example is the definition of runtime block:

runtime = {
name = "containerd"
version = "1.6.28"
}
name str
The name of the runtime. Supported runtimes can be queried by data source alicloud_cs_kubernetes_version.
version str

The version of the runtime.

The following example is the definition of runtime block:

runtime = {
name = "containerd"
version = "1.6.28"
}
name String
The name of the runtime. Supported runtimes can be queried by data source alicloud_cs_kubernetes_version.
version String

The version of the runtime.

The following example is the definition of runtime block:

runtime = {
name = "containerd"
version = "1.6.28"
}

EdgeKubernetesWorkerDataDisk
, EdgeKubernetesWorkerDataDiskArgs

AutoSnapshotPolicyId string
Worker node data disk auto snapshot policy.
Category string
The type of the data disks. Valid values: cloud, cloud_efficiency, cloud_ssd and cloud_essd. Default to cloud_efficiency.
Device string
The device of the data disks.
Encrypted string
Specifies whether to encrypt data disks. Valid values: true and false. Default is false.
KmsKeyId string
The id of the kms key.
Name string
The name of the data disks.
PerformanceLevel string
Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
Size string
The size of a data disk, at least 40. Unit: GiB.
SnapshotId string
The id of snapshot.
AutoSnapshotPolicyId string
Worker node data disk auto snapshot policy.
Category string
The type of the data disks. Valid values: cloud, cloud_efficiency, cloud_ssd and cloud_essd. Default to cloud_efficiency.
Device string
The device of the data disks.
Encrypted string
Specifies whether to encrypt data disks. Valid values: true and false. Default is false.
KmsKeyId string
The id of the kms key.
Name string
The name of the data disks.
PerformanceLevel string
Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
Size string
The size of a data disk, at least 40. Unit: GiB.
SnapshotId string
The id of snapshot.
autoSnapshotPolicyId String
Worker node data disk auto snapshot policy.
category String
The type of the data disks. Valid values: cloud, cloud_efficiency, cloud_ssd and cloud_essd. Default to cloud_efficiency.
device String
The device of the data disks.
encrypted String
Specifies whether to encrypt data disks. Valid values: true and false. Default is false.
kmsKeyId String
The id of the kms key.
name String
The name of the data disks.
performanceLevel String
Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
size String
The size of a data disk, at least 40. Unit: GiB.
snapshotId String
The id of snapshot.
autoSnapshotPolicyId string
Worker node data disk auto snapshot policy.
category string
The type of the data disks. Valid values: cloud, cloud_efficiency, cloud_ssd and cloud_essd. Default to cloud_efficiency.
device string
The device of the data disks.
encrypted string
Specifies whether to encrypt data disks. Valid values: true and false. Default is false.
kmsKeyId string
The id of the kms key.
name string
The name of the data disks.
performanceLevel string
Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
size string
The size of a data disk, at least 40. Unit: GiB.
snapshotId string
The id of snapshot.
auto_snapshot_policy_id str
Worker node data disk auto snapshot policy.
category str
The type of the data disks. Valid values: cloud, cloud_efficiency, cloud_ssd and cloud_essd. Default to cloud_efficiency.
device str
The device of the data disks.
encrypted str
Specifies whether to encrypt data disks. Valid values: true and false. Default is false.
kms_key_id str
The id of the kms key.
name str
The name of the data disks.
performance_level str
Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
size str
The size of a data disk, at least 40. Unit: GiB.
snapshot_id str
The id of snapshot.
autoSnapshotPolicyId String
Worker node data disk auto snapshot policy.
category String
The type of the data disks. Valid values: cloud, cloud_efficiency, cloud_ssd and cloud_essd. Default to cloud_efficiency.
device String
The device of the data disks.
encrypted String
Specifies whether to encrypt data disks. Valid values: true and false. Default is false.
kmsKeyId String
The id of the kms key.
name String
The name of the data disks.
performanceLevel String
Worker node data disk performance level, when category values cloud_essd, the optional values are PL0, PL1, PL2 or PL3, but the specific performance level is related to the disk capacity. For more information, see Enhanced SSDs. Default is PL1.
size String
The size of a data disk, at least 40. Unit: GiB.
snapshotId String
The id of snapshot.

EdgeKubernetesWorkerNode
, EdgeKubernetesWorkerNodeArgs

Id string
ID of the node.
Name string
The kubernetes cluster's name. It is unique in one Alicloud account.
PrivateIp string
The private IP address of node.
Id string
ID of the node.
Name string
The kubernetes cluster's name. It is unique in one Alicloud account.
PrivateIp string
The private IP address of node.
id String
ID of the node.
name String
The kubernetes cluster's name. It is unique in one Alicloud account.
privateIp String
The private IP address of node.
id string
ID of the node.
name string
The kubernetes cluster's name. It is unique in one Alicloud account.
privateIp string
The private IP address of node.
id str
ID of the node.
name str
The kubernetes cluster's name. It is unique in one Alicloud account.
private_ip str
The private IP address of node.
id String
ID of the node.
name String
The kubernetes cluster's name. It is unique in one Alicloud account.
privateIp String
The private IP address of node.

Import

Kubernetes edge cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of pulumi preview.

$ pulumi import alicloud:cs/edgeKubernetes:EdgeKubernetes main cluster-id
Copy

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

Package Details

Repository
Alibaba Cloud pulumi/pulumi-alicloud
License
Apache-2.0
Notes
This Pulumi package is based on the alicloud Terraform Provider.