KubernetesAddonArgs

data class KubernetesAddonArgs(val clusterId: Output<String>? = null, val config: Output<String>? = null, val name: Output<String>? = null, val version: Output<String>? = null) : ConvertibleToJava<KubernetesAddonArgs>

This resource will help you to manage addon in Kubernetes Cluster.

NOTE: Available in 1.150.0+. NOTE: From version 1.166.0, support specifying addon customizable configuration.

Example Usage

Create a managed cluster

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.ecs.KeyPair;
import com.pulumi.alicloud.ecs.KeyPairArgs;
import com.pulumi.alicloud.cs.ManagedKubernetes;
import com.pulumi.alicloud.cs.ManagedKubernetesArgs;
import com.pulumi.codegen.internal.KeyedValue;
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-test");
final var defaultZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
final var defaultInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.availabilityZone(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.cpuCoreCount(2)
.memorySize(4)
.kubernetesNodeRole("Worker")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("10.1.0.0/21")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vswitchName(name)
.vpcId(defaultNetwork.id())
.cidrBlock("10.1.1.0/24")
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build());
var defaultKeyPair = new KeyPair("defaultKeyPair", KeyPairArgs.builder()
.keyPairName(name)
.build());
for (var i = 0; i < (1 == true); i++) {
new ManagedKubernetes("defaultManagedKubernetes-" + i, ManagedKubernetesArgs.builder()
.clusterSpec("ack.pro.small")
.isEnterpriseSecurityGroup(true)
.workerNumber(2)
.password("Hello1234")
.podCidr("172.20.0.0/16")
.serviceCidr("172.21.0.0/20")
.workerVswitchIds(defaultSwitch.id())
.workerInstanceTypes(defaultInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
.build());
}
}
}

Import

Cluster addon can be imported by cluster id and addon name. Then write the addon.tf file according to the result of terraform plan.

$ pulumi import alicloud:cs/kubernetesAddon:KubernetesAddon my_addon <cluster_id>:<addon_name>

Constructors

Link copied to clipboard
fun KubernetesAddonArgs(clusterId: Output<String>? = null, config: Output<String>? = null, name: Output<String>? = null, version: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): KubernetesAddonArgs

Properties

Link copied to clipboard
val clusterId: Output<String>? = null

The id of kubernetes cluster.

Link copied to clipboard
val config: Output<String>? = null

The custom configuration of addon. You can checkout the customizable configuration of the addon through datasource alicloud.cs.getKubernetesAddonMetadata, the returned format is the standard json schema. If return empty, it means that the addon does not support custom configuration yet. You can also checkout the current custom configuration through the data source alicloud.cs.getKubernetesAddons.

Link copied to clipboard
val name: Output<String>? = null

The name of addon.

Link copied to clipboard
val version: Output<String>? = null

The current version of addon.