Skip to content

ManagedKubernetesClusterProps

Properties for defining a ManagedKubernetesCluster.

See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-cs-managedkubernetescluster

Initializer

import com.aliyun.ros.cdk.cs.ManagedKubernetesClusterProps;
ManagedKubernetesClusterProps.builder()
    .name(java.lang.String)
    .name(IResolvable)
    .vpcId(java.lang.String)
    .vpcId(IResolvable)
//  .addons(IResolvable)
//  .addons(java.util.List<IResolvable)
//  .addons(AddonsProperty>)
//  .cloudMonitorFlags(java.lang.Boolean)
//  .cloudMonitorFlags(IResolvable)
//  .clusterSpec(java.lang.String)
//  .clusterSpec(IResolvable)
//  .containerCidr(java.lang.String)
//  .containerCidr(IResolvable)
//  .controlPlaneLogComponents(IResolvable)
//  .controlPlaneLogComponents(java.util.List<java.lang.String)
//  .controlPlaneLogComponents(IResolvable>)
//  .controlPlaneLogProject(java.lang.String)
//  .controlPlaneLogProject(IResolvable)
//  .controlPlaneLogTtl(java.lang.Number)
//  .controlPlaneLogTtl(IResolvable)
//  .deleteOptions(IResolvable)
//  .deleteOptions(java.util.List<IResolvable)
//  .deleteOptions(DeleteOptionsProperty>)
//  .deletionProtection(java.lang.Boolean)
//  .deletionProtection(IResolvable)
//  .encryptionProviderKey(java.lang.String)
//  .encryptionProviderKey(IResolvable)
//  .endpointPublicAccess(java.lang.Boolean)
//  .endpointPublicAccess(IResolvable)
//  .formatDisk(java.lang.Boolean)
//  .formatDisk(IResolvable)
//  .isEnterpriseSecurityGroup(java.lang.Boolean)
//  .isEnterpriseSecurityGroup(IResolvable)
//  .keepInstanceName(java.lang.Boolean)
//  .keepInstanceName(IResolvable)
//  .keyPair(java.lang.String)
//  .keyPair(IResolvable)
//  .kubernetesVersion(java.lang.String)
//  .kubernetesVersion(IResolvable)
//  .loadBalancerSpec(java.lang.String)
//  .loadBalancerSpec(IResolvable)
//  .loginPassword(java.lang.String)
//  .loginPassword(IResolvable)
//  .nodeCidrMask(java.lang.String)
//  .nodeCidrMask(IResolvable)
//  .nodeNameMode(java.lang.String)
//  .nodeNameMode(IResolvable)
//  .nodePools(IResolvable)
//  .nodePools(java.util.List<IResolvable)
//  .nodePools(NodePoolsProperty>)
//  .osType(java.lang.String)
//  .osType(IResolvable)
//  .platform(java.lang.String)
//  .platform(IResolvable)
//  .podVswitchIds(IResolvable)
//  .podVswitchIds(java.util.List<java.lang.String)
//  .podVswitchIds(IResolvable>)
//  .proxyMode(java.lang.String)
//  .proxyMode(IResolvable)
//  .resourceGroupId(java.lang.String)
//  .resourceGroupId(IResolvable)
//  .runtime(IResolvable)
//  .runtime(RuntimeProperty)
//  .securityGroupId(java.lang.String)
//  .securityGroupId(IResolvable)
//  .securityHardeningOs(java.lang.Boolean)
//  .securityHardeningOs(IResolvable)
//  .serviceCidr(java.lang.String)
//  .serviceCidr(IResolvable)
//  .snatEntry(java.lang.Boolean)
//  .snatEntry(IResolvable)
//  .socEnabled(java.lang.Boolean)
//  .socEnabled(IResolvable)
//  .tags(java.util.List<TagsProperty>)
//  .taint(IResolvable)
//  .taint(java.util.List<java.util.Map<java.lang.String, java.lang.Object>>)
//  .timeoutMins(java.lang.Number)
//  .timeoutMins(IResolvable)
//  .userData(java.lang.String)
//  .userData(IResolvable)
//  .zoneIds(IResolvable)
//  .zoneIds(java.util.List<java.lang.String)
//  .zoneIds(IResolvable>)
    .build();

Properties

Name Type Description
name java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property name: The name of the cluster.
vpcId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property vpcId: VPC ID.
addons com.aliyun.ros.cdk.core.IResolvable OR java.util.ListAddonsProperty> Property addons: A combination of addon plugins for Kubernetes clusters.
cloudMonitorFlags java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property cloudMonitorFlags: Whether to install the cloud monitoring plugin: true: indicates installation false: Do not install Default to false.
clusterSpec java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property clusterSpec: The managed cluster spec.
containerCidr java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property containerCidr: The container network segment cannot conflict with the VPC network segment.
controlPlaneLogComponents com.aliyun.ros.cdk.core.IResolvable OR java.util.List Property controlPlaneLogComponents: List of target components for which logs need to be collected.
controlPlaneLogProject java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property controlPlaneLogProject: Control plane log project.
controlPlaneLogTtl java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property controlPlaneLogTtl: Control plane log retention duration (unit: day).
deleteOptions com.aliyun.ros.cdk.core.IResolvable OR java.util.ListDeleteOptionsProperty> Property deleteOptions: Delete options, only work for deleting resource.
deletionProtection java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property deletionProtection: Specifies whether to enable deletion protection for the cluster.
encryptionProviderKey java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property encryptionProviderKey: The ID of the key that is managed by Key Management Service (KMS).
endpointPublicAccess java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property endpointPublicAccess: Whether to enable the public network API Server: true: which means that the public network API Server is open.
formatDisk java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property formatDisk: Specifies whether to mount a data disk to nodes that are created on existing Elastic Compute Service (ECS) instances.
isEnterpriseSecurityGroup java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property isEnterpriseSecurityGroup: Specifies whether to create an advanced security group.
keepInstanceName java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property keepInstanceName: Specifies whether to retain the names of existing ECS instances that are used in the cluster.
keyPair java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property keyPair: Key pair name.
kubernetesVersion java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property kubernetesVersion: The version of the Kubernetes cluster.
loadBalancerSpec java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property loadBalancerSpec: The specification of the Server Load Balancer instance.
loginPassword java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property loginPassword: SSH login password.
nodeCidrMask java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property nodeCidrMask: The maximum number of IP addresses that can be assigned to nodes.
nodeNameMode java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property nodeNameMode: A custom node name consists of a prefix, an IP substring, and a suffix.
nodePools com.aliyun.ros.cdk.core.IResolvable OR java.util.ListNodePoolsProperty> Property nodePools: The configurations of Node pools.
osType java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property osType: The type of operating system.
platform java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property platform: The release version of the operating system.
podVswitchIds com.aliyun.ros.cdk.core.IResolvable OR java.util.List Property podVswitchIds: The list of pod vSwitches.
proxyMode java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property proxyMode: kube-proxy proxy mode, supports both iptables and ipvs modes.
resourceGroupId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property resourceGroupId: The ID of resource group.
runtime com.aliyun.ros.cdk.core.IResolvable OR RuntimeProperty Property runtime: The container runtime of the cluster.
securityGroupId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property securityGroupId: Specifies the ID of the security group to which the cluster ECS instance belongs.
securityHardeningOs java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property securityHardeningOs: Alibaba Cloud OS security hardening.
serviceCidr java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property serviceCidr: The service network segment cannot conflict with the VPC network segment and the container network segment.
snatEntry java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property snatEntry: Whether to configure SNAT for the network.
socEnabled java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property socEnabled: Valid values: true: enables reinforcement based on classified protection.
tags java.util.List<TagsProperty> Property tags: Tag the cluster.
taint com.aliyun.ros.cdk.core.IResolvable OR java.util.List> Property taint: It is used to mark nodes with taints.
timeoutMins java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property timeoutMins: Cluster resource stack creation timeout, in minutes.
userData java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property userData: The user-defined data.
zoneIds com.aliyun.ros.cdk.core.IResolvable OR java.util.List Property zoneIds: Zone ids of worker node virtual switches belongs to.

nameRequired

public java.lang.Object getName();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property name: The name of the cluster.

The cluster name can use uppercase and lowercase letters, Chinese characters, numbers, and dashes.


vpcIdRequired

public java.lang.Object getVpcId();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property vpcId: VPC ID.


addonsOptional

public java.lang.Object getAddons();
  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.ListAddonsProperty>

Property addons: A combination of addon plugins for Kubernetes clusters.

Network plug-in: including Flannel and Terway network plug-ins Log service: Optional. If the log service is not enabled, the cluster audit function cannot be used. Ingress: The installation of the Ingress component is enabled by default.


cloudMonitorFlagsOptional

public java.lang.Object getCloudMonitorFlags();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property cloudMonitorFlags: Whether to install the cloud monitoring plugin: true: indicates installation false: Do not install Default to false.


clusterSpecOptional

public java.lang.Object getClusterSpec();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property clusterSpec: The managed cluster spec.

Value: ack.pro.small: Professional hosting cluster, namely: "ACK Pro version cluster". ack.standard: Standard hosting cluster. Default value: ack.standard. The value can be empty. When it is empty, a standard managed cluster will be created.


containerCidrOptional

public java.lang.Object getContainerCidr();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property containerCidr: The container network segment cannot conflict with the VPC network segment.

When the system is selected to automatically create a VPC, the network segment 172.16.0.0/16 is used by default.


controlPlaneLogComponentsOptional

public java.lang.Object getControlPlaneLogComponents();
  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List

Property controlPlaneLogComponents: List of target components for which logs need to be collected.

Supports apiserver, kcm, scheduler, ccm and controlplane-events.


controlPlaneLogProjectOptional

public java.lang.Object getControlPlaneLogProject();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property controlPlaneLogProject: Control plane log project.

If this field is not set, a log service project named k8s-log-{ClusterID} will be automatically created.


controlPlaneLogTtlOptional

public java.lang.Object getControlPlaneLogTtl();
  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property controlPlaneLogTtl: Control plane log retention duration (unit: day).

Default 30.


deleteOptionsOptional

public java.lang.Object getDeleteOptions();
  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.ListDeleteOptionsProperty>

Property deleteOptions: Delete options, only work for deleting resource.


deletionProtectionOptional

public java.lang.Object getDeletionProtection();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property deletionProtection: Specifies whether to enable deletion protection for the cluster.

After deletion protection is enabled, the cluster cannot be deleted in the ACK console or by calling API operations. Valid values:true: enables deletion protection for the cluster. false: disables deletion protection for the cluster. Default value: false.


encryptionProviderKeyOptional

public java.lang.Object getEncryptionProviderKey();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property encryptionProviderKey: The ID of the key that is managed by Key Management Service (KMS).

This key is used to encrypt data disks.You can use KMS in only professional managed Kubernetes clusters.


endpointPublicAccessOptional

public java.lang.Object getEndpointPublicAccess();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property endpointPublicAccess: Whether to enable the public network API Server: true: which means that the public network API Server is open.

false: If set to false, the API server on the public network will not be created, only the API server on the private network will be created.Default to false.


formatDiskOptional

public java.lang.Object getFormatDisk();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property formatDisk: Specifies whether to mount a data disk to nodes that are created on existing Elastic Compute Service (ECS) instances.

Valid values: true: stores the data of containers and images on a data disk. The original data on the disk will be overwritten. Back up data before you mount the disk. false: does not store the data of containers and images on a data disk. Default value: false. How to mount a data disk: If the ECS instances have data disks mounted and the file system of the last data disk is not initialized, the system automatically formats the data disk to ext4. Then, the system mounts the data disk to /var/lib/docker and /var/lib/kubelet. The system does not create or mount a new data disk if no data disk has been mounted to the ECS instances.


isEnterpriseSecurityGroupOptional

public java.lang.Object getIsEnterpriseSecurityGroup();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property isEnterpriseSecurityGroup: Specifies whether to create an advanced security group.

This parameter takes effect only if security_group_id is left empty. Note You must specify an advanced security group for a cluster that has Terway installed. true: creates an advanced security group. false: does not create an advanced security group. Default value: false.


keepInstanceNameOptional

public java.lang.Object getKeepInstanceName();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property keepInstanceName: Specifies whether to retain the names of existing ECS instances that are used in the cluster.

true: retains the names. false: does not retain the names. The new names are assigned by the system. Default value: true.


keyPairOptional

public java.lang.Object getKeyPair();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property keyPair: Key pair name.

Specify one of KeyPair or LoginPassword.


kubernetesVersionOptional

public java.lang.Object getKubernetesVersion();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property kubernetesVersion: The version of the Kubernetes cluster.


loadBalancerSpecOptional

public java.lang.Object getLoadBalancerSpec();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property loadBalancerSpec: The specification of the Server Load Balancer instance.

Allowed value: slb.s1.small|slb.s2.small|slb.s2.medium|slb.s3.small|slb.s3.medium|slb.s3.large


loginPasswordOptional

public java.lang.Object getLoginPassword();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property loginPassword: SSH login password.

Password rules are 8-30 characters and contain three items (upper and lower case letters, numbers, and special symbols). Specify one of KeyPair or LoginPassword.


nodeCidrMaskOptional

public java.lang.Object getNodeCidrMask();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property nodeCidrMask: The maximum number of IP addresses that can be assigned to nodes.

This number is determined by the specified pod CIDR block. This parameter takes effect only if the cluster uses the Flannel plug-in.Default value: 25.


nodeNameModeOptional

public java.lang.Object getNodeNameMode();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property nodeNameMode: A custom node name consists of a prefix, an IP substring, and a suffix.

The format iscustomized,{prefix},{ip_substring},{suffix}, for example: customized,aliyun.com,5,test.

  • The prefix and suffix can contain one or more parts that are separated by periods (.). Each part can contain lowercase letters, digits, and hyphens (-). The node name must start and end with a lowercase letter or digit.
  • The IP substring length specifies the number of digits to be truncated from the end of the node IP address. Valid values: 5 to 12. For example, if the node IP address is 192.168.0.55, the prefix is aliyun.com, the IP substring length is 5, and the suffix is test, the node name will be aliyun.com00055test.

nodePoolsOptional

public java.lang.Object getNodePools();
  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.ListNodePoolsProperty>

Property nodePools: The configurations of Node pools.


osTypeOptional

public java.lang.Object getOsType();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property osType: The type of operating system.

Valid values: Windows Linux Default value: Linux.


platformOptional

public java.lang.Object getPlatform();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property platform: The release version of the operating system.

Valid values: CentOS AliyunLinux QbootAliyunLinux Qboot Windows WindowsCore Default value: CentOS.


podVswitchIdsOptional

public java.lang.Object getPodVswitchIds();
  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List

Property podVswitchIds: The list of pod vSwitches.

For each vSwitch that is allocated to nodes, you must specify at least one pod vSwitch in the same zone. The pod vSwitches cannot be the same as the node vSwitches. We recommend that you set the mask length of the CIDR block to a value no greater than 19 for the pod vSwitches. The pod_vswitch_ids parameter is required when the Terway network plug-in is selected for the cluster.


proxyModeOptional

public java.lang.Object getProxyMode();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property proxyMode: kube-proxy proxy mode, supports both iptables and ipvs modes.

The default is iptables.


resourceGroupIdOptional

public java.lang.Object getResourceGroupId();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property resourceGroupId: The ID of resource group.


runtimeOptional

public java.lang.Object getRuntime();

Property runtime: The container runtime of the cluster.

The default runtime is Docker.


securityGroupIdOptional

public java.lang.Object getSecurityGroupId();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property securityGroupId: Specifies the ID of the security group to which the cluster ECS instance belongs.


securityHardeningOsOptional

public java.lang.Object getSecurityHardeningOs();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property securityHardeningOs: Alibaba Cloud OS security hardening.

Value: true: enables security hardening OS. false: disables security hardening OS. Default value: false.


serviceCidrOptional

public java.lang.Object getServiceCidr();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property serviceCidr: The service network segment cannot conflict with the VPC network segment and the container network segment.

When the system is selected to automatically create a VPC, the network segment 172.19.0.0/20 is used by default.


snatEntryOptional

public java.lang.Object getSnatEntry();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property snatEntry: Whether to configure SNAT for the network.

When a VPC can access the public network environment, set it to false. When an existing VPC cannot access the public network environment: When set to True, SNAT is configured and the public network environment can be accessed at this time. If set to false, it means that SNAT is not configured and the public network environment cannot be accessed at this time. Default to true.


socEnabledOptional

public java.lang.Object getSocEnabled();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property socEnabled: Valid values: true: enables reinforcement based on classified protection.

false: disables reinforcement based on classified protection. Default value: false.


tagsOptional

public java.util.List<TagsProperty> getTags();

Property tags: Tag the cluster.


taintOptional

public java.lang.Object getTaint();
  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List>

Property taint: It is used to mark nodes with taints.

It is usually used for the scheduling strategy of Pods. The corresponding concept is: tolerance. If there is a corresponding tolerance mark on the Pods, the stain on the node can be tolerated and scheduled to the node.


timeoutMinsOptional

public java.lang.Object getTimeoutMins();
  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property timeoutMins: Cluster resource stack creation timeout, in minutes.

The default value is 60.


userDataOptional

public java.lang.Object getUserData();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property userData: The user-defined data.

[1, 16KB] characters.User data should not be base64 encoded. If you want to pass base64 encoded string to the property, use function Fn::Base64Decode to decode the base64 string first.


zoneIdsOptional

public java.lang.Object getZoneIds();
  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List

Property zoneIds: Zone ids of worker node virtual switches belongs to.