Skip to content

Cluster

This class encapsulates and extends the ROS resource type ALIYUN::ACS::ClusterThe , which resource creates a Container Service for Kubernetes (ACK) cluster.

Initializers

import ros_cdk_acs
ros_cdk_acs.Cluster(
  scope: Construct,
  id: str,
  name: typing.Union[str, IResolvable],
  addons: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, AddonsProperty]]] = None,
  cluster_spec: typing.Union[str, IResolvable] = None,
  compute_class: typing.Union[str, IResolvable] = None,
  delete_options: typing.Union[IResolvable, typing.List[typing.Union[IResolvable, DeleteOptionsProperty]]] = None,
  deletion_protection: typing.Union[bool, IResolvable] = None,
  endpoint_public_access: typing.Union[bool, IResolvable] = None,
  ip_stack: typing.Union[str, IResolvable] = None,
  is_enterprise_security_group: typing.Union[bool, IResolvable] = None,
  kubernetes_version: typing.Union[str, IResolvable] = None,
  load_balancer_spec: typing.Union[str, IResolvable] = None,
  logging_type: typing.Union[str, IResolvable] = None,
  maintenance_window: typing.Union[IResolvable, MaintenanceWindowProperty] = None,
  pod_postpaid_spec: typing.Union[IResolvable, PodPostpaidSpecProperty] = None,
  pod_v_switch_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  resource_group_id: typing.Union[str, IResolvable] = None,
  service_cidr: typing.Union[str, IResolvable] = None,
  service_discovery_types: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  sls_project_name: typing.Union[str, IResolvable] = None,
  snat_entry: typing.Union[bool, IResolvable] = None,
  tags: typing.List[TagsProperty] = None,
  time_zone: typing.Union[str, IResolvable] = None,
  vpc_id: typing.Union[str, IResolvable] = None,
  v_switch_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  zone_ids: typing.Union[IResolvable, typing.List[typing.Union[str, IResolvable]]] = None,
  enable_resource_property_constraint: bool = None
)
Name Type Description
scope ros_cdk_core.Construct No description.
id str No description.
name typing.Union[str, ros_cdk_core.IResolvable] Property name: The name of the cluster.
addons typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, AddonsProperty]]] Property addons: The add-ons to be installed for the cluster.
cluster_spec typing.Union[str, ros_cdk_core.IResolvable] Property clusterSpec: The managed cluster spec.
compute_class typing.Union[str, ros_cdk_core.IResolvable] Property computeClass: The compute class of the cluster.
delete_options typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, DeleteOptionsProperty]]] Property deleteOptions: Delete options, only work for deleting resource.
deletion_protection typing.Union[bool, ros_cdk_core.IResolvable] Property deletionProtection: Specifies whether to enable deletion protection for the cluster.
endpoint_public_access typing.Union[bool, 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.
ip_stack typing.Union[str, ros_cdk_core.IResolvable] Property ipStack: The IP stack of the cluster.
is_enterprise_security_group typing.Union[bool, ros_cdk_core.IResolvable] Property isEnterpriseSecurityGroup: Specifies whether to create an advanced security group.
kubernetes_version typing.Union[str, ros_cdk_core.IResolvable] Property kubernetesVersion: The version of the Kubernetes cluster.
load_balancer_spec typing.Union[str, ros_cdk_core.IResolvable] Property loadBalancerSpec: The specification of the Server Load Balancer instance.
logging_type typing.Union[str, ros_cdk_core.IResolvable] Property loggingType: The logging type of the cluster.
maintenance_window typing.Union[ros_cdk_core.IResolvable, MaintenanceWindowProperty] Property maintenanceWindow: The maintenance window of the cluster.
pod_postpaid_spec typing.Union[ros_cdk_core.IResolvable, PodPostpaidSpecProperty] Property podPostpaidSpec: Postpaid pod spec for inquiry.
pod_v_switch_ids typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property podVSwitchIds: The list of pod vSwitches.
resource_group_id typing.Union[str, ros_cdk_core.IResolvable] Property resourceGroupId: The ID of resource group.
service_cidr typing.Union[str, ros_cdk_core.IResolvable] Property serviceCidr: The service network segment cannot conflict with the VPC network segment and the container network segment.
service_discovery_types typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property serviceDiscoveryTypes: Intra-cluster service discovery type, used to specify the service discovery method in the ASK cluster.
sls_project_name typing.Union[str, ros_cdk_core.IResolvable] Property slsProjectName: The SLS project name of the cluster.
snat_entry typing.Union[bool, ros_cdk_core.IResolvable] Property snatEntry: Whether to configure SNAT for the network.
tags typing.List[TagsProperty] Property tags: Tag the cluster.
time_zone typing.Union[str, ros_cdk_core.IResolvable] Property timeZone: The time zone of the cluster.
vpc_id typing.Union[str, ros_cdk_core.IResolvable] Property vpcId: VPC ID.
v_switch_ids typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property vSwitchIds: The IDs of VSwitches.
zone_ids typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]] Property zoneIds: The zone IDs of the cluster.
enable_resource_property_constraint bool No description.

scopeRequired

  • Type: ros_cdk_core.Construct

idRequired

  • Type: str

nameRequired

  • Type: typing.Union[str, 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.


addonsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, AddonsProperty]]]

Property addons: The add-ons to be installed for the cluster.


cluster_specOptional

  • Type: typing.Union[str, 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.pro.small.


compute_classOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property computeClass: The compute class of the cluster.

This parameter is only used as a parameter query for ZoneIds and is not used in the actual creation.


delete_optionsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[ros_cdk_core.IResolvable, DeleteOptionsProperty]]]

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


deletion_protectionOptional

  • Type: typing.Union[bool, 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.


endpoint_public_accessOptional

  • Type: typing.Union[bool, 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.


ip_stackOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property ipStack: The IP stack of the cluster.


is_enterprise_security_groupOptional

  • Type: typing.Union[bool, 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.


kubernetes_versionOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property kubernetesVersion: The version of the Kubernetes cluster.


load_balancer_specOptional

  • Type: typing.Union[str, 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


logging_typeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property loggingType: The logging type of the cluster.

By default, no logging service is used.


maintenance_windowOptional

Property maintenanceWindow: The maintenance window of the cluster.


pod_postpaid_specOptional

Property podPostpaidSpec: Postpaid pod spec for inquiry.


pod_v_switch_idsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

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.


resource_group_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property resourceGroupId: The ID of resource group.


service_cidrOptional

  • Type: typing.Union[str, 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.


service_discovery_typesOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property serviceDiscoveryTypes: Intra-cluster service discovery type, used to specify the service discovery method in the ASK cluster.

CoreDNS: To use Kubernetes native standard service discovery component CoreDNS, a set of containers needs to be deployed in the cluster for DNS resolution. By default, two ECI instances with a size of 0.25 Core and 512 MiB are used. PrivateZone: To use Alibaba Cloud PrivateZone products to provide service discovery capabilities, the PrivateZone service needs to be enabled. Default value: off


sls_project_nameOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property slsProjectName: The SLS project name of the cluster.

If LoggingType is set to SLS and SlsProjectName is empty, a new Project is created.


snat_entryOptional

  • Type: typing.Union[bool, 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.


tagsOptional

Property tags: Tag the cluster.


time_zoneOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property timeZone: The time zone of the cluster.


vpc_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property vpcId: VPC ID.


v_switch_idsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property vSwitchIds: The IDs of VSwitches.

If you leave this property empty, the system automatically creates a VSwitch. Note You must specify both the VpcId and VSwitchIds or leave both of them empty.


zone_idsOptional

  • Type: typing.Union[ros_cdk_core.IResolvable, typing.List[typing.Union[str, ros_cdk_core.IResolvable]]]

Property zoneIds: The zone IDs of the cluster.


enable_resource_property_constraintOptional

  • Type: bool

Methods

Name Description
to_string Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
add_condition No description.
add_count No description.
add_dependency No description.
add_resource_desc No description.
apply_removal_policy No description.
fetch_condition No description.
fetch_dependency No description.
fetch_resource_desc No description.
get_att No description.
set_metadata No description.

to_string

def to_string() -> str

Returns a string representation of this construct.

synthesize

def synthesize(
  session: ISynthesisSession
) -> None

Allows this construct to emit artifacts into the cloud assembly during synthesis.

This method is usually implemented by framework-level constructs such as Stack and Asset as they participate in synthesizing the cloud assembly.

sessionRequired

  • Type: ros_cdk_core.ISynthesisSession

The synthesis session.


add_condition

def add_condition(
  condition: RosCondition
) -> None

conditionRequired

  • Type: ros_cdk_core.RosCondition

add_count

def add_count(
  count: typing.Union[typing.Union[int, float], IResolvable]
) -> None

countRequired

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

add_dependency

def add_dependency(
  resource: Resource
) -> None

resourceRequired

  • Type: ros_cdk_core.Resource

add_resource_desc

def add_resource_desc(
  desc: str
) -> None

descRequired

  • Type: str

apply_removal_policy

def apply_removal_policy(
  policy: RemovalPolicy
) -> None

policyRequired

  • Type: ros_cdk_core.RemovalPolicy

fetch_condition

def fetch_condition() -> RosCondition

fetch_dependency

def fetch_dependency() -> typing.List[str]

fetch_resource_desc

def fetch_resource_desc() -> str

get_att

def get_att(
  name: str
) -> IResolvable

nameRequired

  • Type: str

set_metadata

def set_metadata(
  key: str,
  value: typing.Any
) -> None

keyRequired

  • Type: str

valueRequired

  • Type: typing.Any

Static Functions

Name Description
is_construct Return whether the given object is a Construct.

is_construct

import ros_cdk_acs
ros_cdk_acs.Cluster.is_construct(
  x: typing.Any
)

Return whether the given object is a Construct.

xRequired

  • Type: typing.Any

Properties

Name Type Description
node ros_cdk_core.ConstructNode The construct tree node associated with this construct.
env ros_cdk_core.IResourceEnvironment The environment this resource belongs to.
ref str No description.
stack ros_cdk_core.Stack The stack in which this resource is defined.
resource ros_cdk_core.RosResource No description.
attr_api_server_slb_id typing.Union[str, ros_cdk_core.IResolvable] Attribute APIServerSLBId: The id of API server SLB.
attr_cluster_id typing.Union[str, ros_cdk_core.IResolvable] Attribute ClusterId: Cluster instance ID.
attr_default_user_kube_config typing.Union[str, ros_cdk_core.IResolvable] Attribute DefaultUserKubeConfig: Default user kubernetes config which is used for configuring cluster credentials.
attr_ingress_slb_id typing.Union[str, ros_cdk_core.IResolvable] Attribute IngressSLBId: The id of ingress SLB.
attr_nodes typing.Union[str, ros_cdk_core.IResolvable] Attribute Nodes: The list of cluster nodes.
attr_private_user_kub_config typing.Union[str, ros_cdk_core.IResolvable] Attribute PrivateUserKubConfig: Private user kubernetes config which is used for configuring cluster credentials.
attr_scaling_configuration_id typing.Union[str, ros_cdk_core.IResolvable] Attribute ScalingConfigurationId: Scaling configuration id.
attr_scaling_group_id typing.Union[str, ros_cdk_core.IResolvable] Attribute ScalingGroupId: Scaling group id.
attr_scaling_rule_id typing.Union[str, ros_cdk_core.IResolvable] Attribute ScalingRuleId: Scaling rule id.
attr_task_id typing.Union[str, ros_cdk_core.IResolvable] Attribute TaskId: Task ID.
attr_worker_ram_role_name typing.Union[str, ros_cdk_core.IResolvable] Attribute WorkerRamRoleName: Worker ram role name.
props ClusterProps No description.

nodeRequired

node: ConstructNode
  • Type: ros_cdk_core.ConstructNode

The construct tree node associated with this construct.


envRequired

env: IResourceEnvironment
  • Type: ros_cdk_core.IResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.


refRequired

ref: str
  • Type: str

stackRequired

stack: Stack
  • Type: ros_cdk_core.Stack

The stack in which this resource is defined.


resourceOptional

resource: RosResource
  • Type: ros_cdk_core.RosResource

attr_api_server_slb_idRequired

attr_api_server_slb_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute APIServerSLBId: The id of API server SLB.


attr_cluster_idRequired

attr_cluster_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute ClusterId: Cluster instance ID.


attr_default_user_kube_configRequired

attr_default_user_kube_config: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute DefaultUserKubeConfig: Default user kubernetes config which is used for configuring cluster credentials.


attr_ingress_slb_idRequired

attr_ingress_slb_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute IngressSLBId: The id of ingress SLB.


attr_nodesRequired

attr_nodes: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute Nodes: The list of cluster nodes.


attr_private_user_kub_configRequired

attr_private_user_kub_config: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute PrivateUserKubConfig: Private user kubernetes config which is used for configuring cluster credentials.


attr_scaling_configuration_idRequired

attr_scaling_configuration_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute ScalingConfigurationId: Scaling configuration id.


attr_scaling_group_idRequired

attr_scaling_group_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute ScalingGroupId: Scaling group id.


attr_scaling_rule_idRequired

attr_scaling_rule_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute ScalingRuleId: Scaling rule id.


attr_task_idRequired

attr_task_id: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute TaskId: Task ID.

Automatically assigned by the system, the user queries the task status.


attr_worker_ram_role_nameRequired

attr_worker_ram_role_name: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute WorkerRamRoleName: Worker ram role name.


propsRequired

props: ClusterProps