pulumi-alicloud 3.84.0a1756507491__py3-none-any.whl → 3.85.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pulumi-alicloud might be problematic. Click here for more details.
- pulumi_alicloud/__init__.py +172 -0
- pulumi_alicloud/_inputs.py +635 -0
- pulumi_alicloud/ackone/membership_attachment.py +122 -0
- pulumi_alicloud/actiontrail/__init__.py +1 -0
- pulumi_alicloud/actiontrail/advanced_query_template.py +311 -0
- pulumi_alicloud/actiontrail/trail.py +303 -149
- pulumi_alicloud/actiontrail/trail_deprecated.py +131 -23
- pulumi_alicloud/alb/a_script.py +170 -0
- pulumi_alicloud/alb/get_rules.py +206 -0
- pulumi_alicloud/alb/listener.py +240 -0
- pulumi_alicloud/alb/listener_acl_attachment.py +180 -0
- pulumi_alicloud/alb/listener_additional_certificate_attachment.py +314 -0
- pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py +136 -0
- pulumi_alicloud/alb/load_balancer_common_bandwidth_package_attachment.py +122 -0
- pulumi_alicloud/alb/load_balancer_zone_shifted_attachment.py +124 -0
- pulumi_alicloud/alb/rule.py +202 -0
- pulumi_alicloud/alikafka/sasl_user.py +2 -2
- pulumi_alicloud/amqp/get_instances.py +49 -20
- pulumi_alicloud/amqp/outputs.py +20 -20
- pulumi_alicloud/amqp/virtual_host.py +46 -20
- pulumi_alicloud/apig/environment.py +86 -0
- pulumi_alicloud/arms/__init__.py +6 -0
- pulumi_alicloud/arms/addon_release.py +174 -0
- pulumi_alicloud/arms/env_feature.py +158 -0
- pulumi_alicloud/arms/env_pod_monitor.py +206 -0
- pulumi_alicloud/arms/env_service_monitor.py +204 -0
- pulumi_alicloud/arms/environment.py +150 -0
- pulumi_alicloud/arms/get_addon_releases.py +354 -0
- pulumi_alicloud/arms/get_env_custom_jobs.py +268 -0
- pulumi_alicloud/arms/get_env_features.py +342 -0
- pulumi_alicloud/arms/get_env_pod_monitors.py +390 -0
- pulumi_alicloud/arms/get_env_service_monitors.py +388 -0
- pulumi_alicloud/arms/get_environments.py +282 -0
- pulumi_alicloud/arms/outputs.py +620 -0
- pulumi_alicloud/arms/prometheus_monitoring.py +190 -0
- pulumi_alicloud/cen/transit_router_multicast_domain_member.py +118 -0
- pulumi_alicloud/cen/transit_router_multicast_domain_source.py +160 -0
- pulumi_alicloud/cfg/aggregate_delivery.py +100 -0
- pulumi_alicloud/cfg/delivery_channel.py +54 -0
- pulumi_alicloud/cloudauth/face_config.py +48 -0
- pulumi_alicloud/cloudfirewall/nat_firewall_control_policy.py +236 -0
- pulumi_alicloud/cloudmonitor/__init__.py +1 -0
- pulumi_alicloud/cloudmonitor/get_service_metric_alarm_rules.py +333 -0
- pulumi_alicloud/cloudmonitor/outputs.py +696 -0
- pulumi_alicloud/cloudsso/__init__.py +1 -0
- pulumi_alicloud/cloudsso/access_configuration.py +12 -12
- pulumi_alicloud/cloudsso/access_configuration_provisioning.py +84 -0
- pulumi_alicloud/cloudsso/access_management.py +90 -0
- pulumi_alicloud/cloudsso/delegate_account.py +218 -0
- pulumi_alicloud/cloudsso/group.py +60 -0
- pulumi_alicloud/cloudsso/user.py +66 -0
- pulumi_alicloud/cloudsso/user_attachment.py +82 -0
- pulumi_alicloud/cloudstoragegateway/express_sync.py +154 -0
- pulumi_alicloud/cloudstoragegateway/express_sync_share_attachment.py +160 -0
- pulumi_alicloud/cloudstoragegateway/gateway.py +0 -13
- pulumi_alicloud/cloudstoragegateway/gateway_block_volume.py +132 -0
- pulumi_alicloud/cloudstoragegateway/gateway_cache_disk.py +92 -0
- pulumi_alicloud/cloudstoragegateway/gateway_file_share.py +130 -0
- pulumi_alicloud/cloudstoragegateway/gateway_logging.py +120 -0
- pulumi_alicloud/cloudstoragegateway/gateway_smb_user.py +92 -0
- pulumi_alicloud/cms/alarm.py +4 -4
- pulumi_alicloud/cms/get_site_monitors.py +20 -20
- pulumi_alicloud/cms/hybrid_monitor_fc_task.py +24 -24
- pulumi_alicloud/cms/hybrid_monitor_sls_task.py +164 -0
- pulumi_alicloud/cms/site_monitor.py +20 -20
- pulumi_alicloud/cms/sls_group.py +80 -0
- pulumi_alicloud/compute/nest_service_instance.py +10 -10
- pulumi_alicloud/cs/_inputs.py +565 -0
- pulumi_alicloud/cs/autoscaling_config.py +260 -35
- pulumi_alicloud/cs/get_cluster_credential.py +30 -0
- pulumi_alicloud/cs/get_kubernetes_addon_metadata.py +78 -0
- pulumi_alicloud/cs/get_kubernetes_addons.py +72 -0
- pulumi_alicloud/cs/get_kubernetes_node_pools.py +124 -0
- pulumi_alicloud/cs/kubernetes.py +296 -0
- pulumi_alicloud/cs/kubernetes_addon.py +108 -0
- pulumi_alicloud/cs/kubernetes_permission.py +162 -0
- pulumi_alicloud/cs/managed_kubernetes.py +583 -14
- pulumi_alicloud/cs/node_pool.py +423 -0
- pulumi_alicloud/cs/outputs.py +374 -0
- pulumi_alicloud/dataworks/data_source_shared_rule.py +116 -0
- pulumi_alicloud/dataworks/dw_resource_group.py +82 -0
- pulumi_alicloud/dataworks/network.py +100 -0
- pulumi_alicloud/ddos/bgp_ip.py +57 -48
- pulumi_alicloud/ddos/ddos_bgp_instance.py +246 -106
- pulumi_alicloud/ddos/domain_resource.py +6 -6
- pulumi_alicloud/directmail/mail_address.py +62 -0
- pulumi_alicloud/directmail/receivers.py +40 -0
- pulumi_alicloud/dms/__init__.py +1 -0
- pulumi_alicloud/dms/enterprise_workspace.py +354 -0
- pulumi_alicloud/dns/access_strategy.py +152 -0
- pulumi_alicloud/dns/address_pool.py +4 -4
- pulumi_alicloud/dns/ddos_bgp_instance.py +246 -106
- pulumi_alicloud/dts/job_monitor_rule.py +228 -0
- pulumi_alicloud/dts/migration_job.py +238 -0
- pulumi_alicloud/dts/synchronization_job.py +266 -14
- pulumi_alicloud/ebs/disk_replica_pair.py +112 -0
- pulumi_alicloud/ecs/ecs_network_interface_permission.py +84 -0
- pulumi_alicloud/ecs/image_import.py +2 -2
- pulumi_alicloud/ecs/ram_role_attachment.py +28 -28
- pulumi_alicloud/edas/k8s_application.py +124 -0
- pulumi_alicloud/edas/k8s_cluster.py +104 -0
- pulumi_alicloud/edas/k8s_slb_attachment.py +152 -0
- pulumi_alicloud/eflo/__init__.py +2 -0
- pulumi_alicloud/eflo/_inputs.py +94 -0
- pulumi_alicloud/eflo/er.py +487 -0
- pulumi_alicloud/eflo/node.py +54 -7
- pulumi_alicloud/eflo/node_group_attachment.py +604 -0
- pulumi_alicloud/eflo/outputs.py +75 -0
- pulumi_alicloud/emr/cluster.py +64 -64
- pulumi_alicloud/emr/get_clusters.py +16 -16
- pulumi_alicloud/emrv2/cluster.py +16 -16
- pulumi_alicloud/emrv2/get_cluster_instances.py +16 -16
- pulumi_alicloud/esa/__init__.py +7 -0
- pulumi_alicloud/esa/kv_account.py +145 -0
- pulumi_alicloud/esa/origin_ca_certificate.py +441 -0
- pulumi_alicloud/esa/origin_client_certificate.py +564 -0
- pulumi_alicloud/esa/origin_protection.py +290 -0
- pulumi_alicloud/esa/routine_related_record.py +226 -0
- pulumi_alicloud/esa/site_origin_client_certificate.py +515 -0
- pulumi_alicloud/esa/url_observation.py +352 -0
- pulumi_alicloud/eventbridge/rule.py +102 -0
- pulumi_alicloud/fc/_inputs.py +77 -3
- pulumi_alicloud/fc/custom_domain.py +14 -14
- pulumi_alicloud/fc/function.py +14 -14
- pulumi_alicloud/fc/function_async_invoke_config.py +48 -48
- pulumi_alicloud/fc/get_service.py +2 -2
- pulumi_alicloud/fc/outputs.py +63 -2
- pulumi_alicloud/fc/trigger.py +100 -100
- pulumi_alicloud/fc/v3_async_invoke_config.py +154 -0
- pulumi_alicloud/fc/v3_function.py +189 -3
- pulumi_alicloud/fc/v3_function_version.py +30 -2
- pulumi_alicloud/fnf/execution.py +14 -14
- pulumi_alicloud/fnf/flow.py +14 -14
- pulumi_alicloud/ga/additional_certificate.py +236 -0
- pulumi_alicloud/gpdb/hadoop_data_source.py +16 -16
- pulumi_alicloud/gpdb/streaming_job.py +4 -4
- pulumi_alicloud/gwlb/listener.py +172 -0
- pulumi_alicloud/gwlb/load_balancer.py +96 -0
- pulumi_alicloud/gwlb/server_group.py +160 -0
- pulumi_alicloud/hbr/ecs_backup_plan.py +4 -4
- pulumi_alicloud/hbr/ots_backup_plan.py +28 -28
- pulumi_alicloud/hbr/restore_job.py +4 -4
- pulumi_alicloud/hologram/instance.py +35 -0
- pulumi_alicloud/imm/project.py +14 -14
- pulumi_alicloud/kms/get_aliases.py +6 -6
- pulumi_alicloud/kms/get_instances.py +178 -0
- pulumi_alicloud/kms/instance.py +470 -16
- pulumi_alicloud/kms/policy.py +96 -0
- pulumi_alicloud/log/dashboard.py +40 -40
- pulumi_alicloud/log/ingestion.py +38 -38
- pulumi_alicloud/log/log_tail_attachment.py +20 -20
- pulumi_alicloud/log/log_tail_config.py +20 -20
- pulumi_alicloud/log/oss_export.py +6 -0
- pulumi_alicloud/log/project.py +20 -20
- pulumi_alicloud/log/resource.py +22 -22
- pulumi_alicloud/log/resource_record.py +40 -40
- pulumi_alicloud/maxcompute/get_service.py +2 -2
- pulumi_alicloud/message/__init__.py +1 -0
- pulumi_alicloud/message/_inputs.py +141 -0
- pulumi_alicloud/message/outputs.py +120 -0
- pulumi_alicloud/message/service_event_rule.py +490 -0
- pulumi_alicloud/message/service_subscription.py +48 -1
- pulumi_alicloud/mongodb/__init__.py +1 -0
- pulumi_alicloud/mongodb/global_security_ip_group.py +304 -0
- pulumi_alicloud/mongodb/instance.py +47 -0
- pulumi_alicloud/mongodb/sharding_instance.py +385 -0
- pulumi_alicloud/msc_sub_webhook.py +44 -0
- pulumi_alicloud/mse/cluster.py +47 -0
- pulumi_alicloud/mse/gateway.py +62 -0
- pulumi_alicloud/nas/access_group.py +46 -18
- pulumi_alicloud/nas/access_rule.py +28 -0
- pulumi_alicloud/nas/data_flow.py +114 -0
- pulumi_alicloud/nlb/listener_additional_certificate_attachment.py +328 -0
- pulumi_alicloud/nlb/server_group.py +28 -21
- pulumi_alicloud/oos/execution.py +30 -30
- pulumi_alicloud/oos/get_parameters.py +10 -10
- pulumi_alicloud/oos/get_secret_parameters.py +10 -10
- pulumi_alicloud/oos/template.py +28 -28
- pulumi_alicloud/oss/bucket.py +634 -0
- pulumi_alicloud/oss/bucket_replication.py +56 -56
- pulumi_alicloud/outputs.py +489 -0
- pulumi_alicloud/pai/flow_pipeline.py +70 -70
- pulumi_alicloud/pai/workspace_datasetversion.py +108 -0
- pulumi_alicloud/pai/workspace_run.py +62 -0
- pulumi_alicloud/polardb/cluster.py +7 -7
- pulumi_alicloud/privatelink/vpc_endpoint.py +21 -7
- pulumi_alicloud/privatelink/vpc_endpoint_service.py +11 -11
- pulumi_alicloud/pulumi-plugin.json +1 -1
- pulumi_alicloud/pvtz/endpoint.py +96 -0
- pulumi_alicloud/pvtz/rule.py +122 -0
- pulumi_alicloud/pvtz/rule_attachment.py +150 -0
- pulumi_alicloud/ram/get_policies.py +18 -18
- pulumi_alicloud/ram/get_policy_document.py +2 -2
- pulumi_alicloud/ram/get_role_policy_attachments.py +34 -34
- pulumi_alicloud/ram/get_users.py +32 -32
- pulumi_alicloud/ram/group_membership.py +74 -0
- pulumi_alicloud/ram/group_policy_attachment.py +18 -18
- pulumi_alicloud/ram/policy.py +18 -18
- pulumi_alicloud/ram/role.py +16 -16
- pulumi_alicloud/ram/role_attachment.py +14 -14
- pulumi_alicloud/ram/role_policy_attachment.py +34 -34
- pulumi_alicloud/ram/user_policy_attachment.py +18 -18
- pulumi_alicloud/rds/get_instance_classes.py +6 -4
- pulumi_alicloud/rds/outputs.py +4 -0
- pulumi_alicloud/rds/rds_clone_db_instance.py +8 -1
- pulumi_alicloud/resourcemanager/__init__.py +1 -0
- pulumi_alicloud/resourcemanager/auto_grouping_rule.py +24 -24
- pulumi_alicloud/resourcemanager/control_policy.py +18 -18
- pulumi_alicloud/resourcemanager/control_policy_attachment.py +18 -18
- pulumi_alicloud/resourcemanager/delegated_administrator.py +22 -50
- pulumi_alicloud/resourcemanager/folder.py +106 -29
- pulumi_alicloud/resourcemanager/get_accounts.py +35 -18
- pulumi_alicloud/resourcemanager/get_shared_resources.py +64 -0
- pulumi_alicloud/resourcemanager/message_contact.py +572 -0
- pulumi_alicloud/resourcemanager/outputs.py +31 -20
- pulumi_alicloud/resourcemanager/policy.py +16 -16
- pulumi_alicloud/resourcemanager/policy_attachment.py +82 -0
- pulumi_alicloud/resourcemanager/policy_version.py +32 -32
- pulumi_alicloud/resourcemanager/resource_directory.py +137 -46
- pulumi_alicloud/resourcemanager/role.py +14 -14
- pulumi_alicloud/resourcemanager/shared_resource.py +81 -45
- pulumi_alicloud/resourcemanager/shared_target.py +60 -24
- pulumi_alicloud/rocketmq/qos_policy.py +70 -0
- pulumi_alicloud/ros/_inputs.py +70 -18
- pulumi_alicloud/ros/outputs.py +59 -12
- pulumi_alicloud/ros/stack.py +14 -14
- pulumi_alicloud/ros/stack_group.py +342 -223
- pulumi_alicloud/ros/template.py +2 -2
- pulumi_alicloud/sag/qos_policy.py +70 -0
- pulumi_alicloud/sddp/data_limit.py +148 -0
- pulumi_alicloud/sddp/rule.py +10 -10
- pulumi_alicloud/servicecatalog/principal_portfolio_association.py +16 -16
- pulumi_alicloud/servicecatalog/product_portfolio_association.py +54 -0
- pulumi_alicloud/sls/__init__.py +5 -0
- pulumi_alicloud/sls/_inputs.py +128 -0
- pulumi_alicloud/sls/collection_policy.py +276 -0
- pulumi_alicloud/sls/get_etls.py +294 -0
- pulumi_alicloud/sls/get_logtail_configs.py +395 -0
- pulumi_alicloud/sls/get_machine_groups.py +229 -0
- pulumi_alicloud/sls/logtail_config.py +692 -0
- pulumi_alicloud/sls/machine_group.py +502 -0
- pulumi_alicloud/sls/oss_export_sink.py +134 -0
- pulumi_alicloud/sls/outputs.py +449 -0
- pulumi_alicloud/sslcertificatesservice/__init__.py +9 -0
- pulumi_alicloud/sslcertificatesservice/pca_certificate.py +646 -0
- pulumi_alicloud/star_rocks_instance.py +1425 -0
- pulumi_alicloud/tag/policy.py +2 -2
- pulumi_alicloud/tag/policy_attachment.py +2 -2
- pulumi_alicloud/threatdetection/__init__.py +1 -0
- pulumi_alicloud/threatdetection/_inputs.py +183 -0
- pulumi_alicloud/threatdetection/anti_brute_force_rule.py +50 -1
- pulumi_alicloud/threatdetection/attack_path_sensitive_asset_config.py +218 -0
- pulumi_alicloud/threatdetection/image_event_operation.py +191 -90
- pulumi_alicloud/threatdetection/oss_scan_config.py +257 -65
- pulumi_alicloud/threatdetection/outputs.py +147 -0
- pulumi_alicloud/vod/editing_project.py +8 -8
- pulumi_alicloud/vpc/_inputs.py +87 -54
- pulumi_alicloud/vpc/common_bandwith_package.py +28 -0
- pulumi_alicloud/vpc/dhcp_options_set.py +97 -58
- pulumi_alicloud/vpc/flow_log.py +117 -25
- pulumi_alicloud/vpc/gateway_endpoint.py +12 -12
- pulumi_alicloud/vpc/gateway_endpoint_route_table_attachment.py +12 -12
- pulumi_alicloud/vpc/ha_vip_attachment.py +41 -60
- pulumi_alicloud/vpc/ha_vipv2.py +100 -88
- pulumi_alicloud/vpc/ipam_ipam_pool.py +54 -0
- pulumi_alicloud/vpc/network_acl.py +34 -23
- pulumi_alicloud/vpc/outputs.py +58 -36
- pulumi_alicloud/vpc/route_entry.py +6 -2
- pulumi_alicloud/vpc/vbr_ha.py +100 -0
- pulumi_alicloud/vpc/vpc_network_acl_attachment.py +48 -0
- pulumi_alicloud/vpn/get_gateways.py +98 -0
- pulumi_alicloud/vpn/ssl_vpn_client_cert.py +82 -0
- pulumi_alicloud/vpn/ssl_vpn_server.py +76 -0
- pulumi_alicloud/wafv3/__init__.py +1 -0
- pulumi_alicloud/wafv3/_inputs.py +1318 -182
- pulumi_alicloud/wafv3/defense_rule.py +806 -0
- pulumi_alicloud/wafv3/defense_template.py +87 -124
- pulumi_alicloud/wafv3/domain.py +136 -35
- pulumi_alicloud/wafv3/outputs.py +925 -123
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/METADATA +1 -1
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/RECORD +283 -251
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/WHEEL +0 -0
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/top_level.txt +0 -0
|
@@ -26,6 +26,7 @@ class AutoscalingConfigArgs:
|
|
|
26
26
|
gpu_utilization_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
27
27
|
max_graceful_termination_sec: Optional[pulumi.Input[_builtins.int]] = None,
|
|
28
28
|
min_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
|
|
29
|
+
priorities: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
29
30
|
recycle_node_deletion_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
30
31
|
scale_down_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
31
32
|
scale_up_from_zero: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -38,21 +39,22 @@ class AutoscalingConfigArgs:
|
|
|
38
39
|
"""
|
|
39
40
|
The set of arguments for constructing a AutoscalingConfig resource.
|
|
40
41
|
:param pulumi.Input[_builtins.str] cluster_id: The id of kubernetes cluster.
|
|
41
|
-
:param pulumi.Input[_builtins.str] cool_down_duration:
|
|
42
|
+
:param pulumi.Input[_builtins.str] cool_down_duration: Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
|
|
42
43
|
:param pulumi.Input[_builtins.bool] daemonset_eviction_for_nodes: If true DaemonSet pods will be terminated from nodes. Default is `false`.
|
|
43
|
-
:param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
44
|
+
:param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
44
45
|
:param pulumi.Input[_builtins.str] gpu_utilization_threshold: The scale-in threshold for GPU instance. Default is `0.5`.
|
|
45
46
|
:param pulumi.Input[_builtins.int] max_graceful_termination_sec: Maximum number of seconds CA waits for pod termination when trying to scale down a node. Default is `14400`.
|
|
46
47
|
:param pulumi.Input[_builtins.int] min_replica_count: Minimum number of replicas that a replica set or replication controller should have to allow their pods deletion in scale down. Default is `0`.
|
|
48
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] priorities: Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
|
|
47
49
|
:param pulumi.Input[_builtins.bool] recycle_node_deletion_enabled: Should CA delete the K8s node object when recycle node has scaled down successfully. Default is `false`.
|
|
48
50
|
:param pulumi.Input[_builtins.bool] scale_down_enabled: Specify whether to allow the scale-in of nodes. Default is `true`.
|
|
49
51
|
:param pulumi.Input[_builtins.bool] scale_up_from_zero: Should CA scale up when there 0 ready nodes. Default is `true`.
|
|
50
|
-
:param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
|
|
52
|
+
:param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
|
|
51
53
|
:param pulumi.Input[_builtins.str] scan_interval: The interval at which the cluster is reevaluated for scaling. Default is `30s`.
|
|
52
54
|
:param pulumi.Input[_builtins.bool] skip_nodes_with_local_storage: If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath. Default is `false`.
|
|
53
55
|
:param pulumi.Input[_builtins.bool] skip_nodes_with_system_pods: If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Default is `true`.
|
|
54
|
-
:param pulumi.Input[_builtins.str] unneeded_duration:
|
|
55
|
-
:param pulumi.Input[_builtins.str] utilization_threshold: The scale-in threshold. Default is `0.5`.
|
|
56
|
+
:param pulumi.Input[_builtins.str] unneeded_duration: Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
|
|
57
|
+
:param pulumi.Input[_builtins.str] utilization_threshold: The scale-in a threshold. Default is `0.5`.
|
|
56
58
|
"""
|
|
57
59
|
if cluster_id is not None:
|
|
58
60
|
pulumi.set(__self__, "cluster_id", cluster_id)
|
|
@@ -68,6 +70,8 @@ class AutoscalingConfigArgs:
|
|
|
68
70
|
pulumi.set(__self__, "max_graceful_termination_sec", max_graceful_termination_sec)
|
|
69
71
|
if min_replica_count is not None:
|
|
70
72
|
pulumi.set(__self__, "min_replica_count", min_replica_count)
|
|
73
|
+
if priorities is not None:
|
|
74
|
+
pulumi.set(__self__, "priorities", priorities)
|
|
71
75
|
if recycle_node_deletion_enabled is not None:
|
|
72
76
|
pulumi.set(__self__, "recycle_node_deletion_enabled", recycle_node_deletion_enabled)
|
|
73
77
|
if scale_down_enabled is not None:
|
|
@@ -103,7 +107,7 @@ class AutoscalingConfigArgs:
|
|
|
103
107
|
@pulumi.getter(name="coolDownDuration")
|
|
104
108
|
def cool_down_duration(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
105
109
|
"""
|
|
106
|
-
|
|
110
|
+
Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
|
|
107
111
|
"""
|
|
108
112
|
return pulumi.get(self, "cool_down_duration")
|
|
109
113
|
|
|
@@ -127,7 +131,7 @@ class AutoscalingConfigArgs:
|
|
|
127
131
|
@pulumi.getter
|
|
128
132
|
def expander(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
129
133
|
"""
|
|
130
|
-
The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
134
|
+
The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
131
135
|
"""
|
|
132
136
|
return pulumi.get(self, "expander")
|
|
133
137
|
|
|
@@ -171,6 +175,18 @@ class AutoscalingConfigArgs:
|
|
|
171
175
|
def min_replica_count(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
172
176
|
pulumi.set(self, "min_replica_count", value)
|
|
173
177
|
|
|
178
|
+
@_builtins.property
|
|
179
|
+
@pulumi.getter
|
|
180
|
+
def priorities(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
181
|
+
"""
|
|
182
|
+
Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
|
|
183
|
+
"""
|
|
184
|
+
return pulumi.get(self, "priorities")
|
|
185
|
+
|
|
186
|
+
@priorities.setter
|
|
187
|
+
def priorities(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
188
|
+
pulumi.set(self, "priorities", value)
|
|
189
|
+
|
|
174
190
|
@_builtins.property
|
|
175
191
|
@pulumi.getter(name="recycleNodeDeletionEnabled")
|
|
176
192
|
def recycle_node_deletion_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
@@ -211,7 +227,7 @@ class AutoscalingConfigArgs:
|
|
|
211
227
|
@pulumi.getter(name="scalerType")
|
|
212
228
|
def scaler_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
213
229
|
"""
|
|
214
|
-
The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
|
|
230
|
+
The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
|
|
215
231
|
"""
|
|
216
232
|
return pulumi.get(self, "scaler_type")
|
|
217
233
|
|
|
@@ -259,7 +275,7 @@ class AutoscalingConfigArgs:
|
|
|
259
275
|
@pulumi.getter(name="unneededDuration")
|
|
260
276
|
def unneeded_duration(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
261
277
|
"""
|
|
262
|
-
|
|
278
|
+
Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
|
|
263
279
|
"""
|
|
264
280
|
return pulumi.get(self, "unneeded_duration")
|
|
265
281
|
|
|
@@ -271,7 +287,7 @@ class AutoscalingConfigArgs:
|
|
|
271
287
|
@pulumi.getter(name="utilizationThreshold")
|
|
272
288
|
def utilization_threshold(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
273
289
|
"""
|
|
274
|
-
The scale-in threshold. Default is `0.5`.
|
|
290
|
+
The scale-in a threshold. Default is `0.5`.
|
|
275
291
|
"""
|
|
276
292
|
return pulumi.get(self, "utilization_threshold")
|
|
277
293
|
|
|
@@ -290,6 +306,7 @@ class _AutoscalingConfigState:
|
|
|
290
306
|
gpu_utilization_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
291
307
|
max_graceful_termination_sec: Optional[pulumi.Input[_builtins.int]] = None,
|
|
292
308
|
min_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
|
|
309
|
+
priorities: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
293
310
|
recycle_node_deletion_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
294
311
|
scale_down_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
295
312
|
scale_up_from_zero: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -302,21 +319,22 @@ class _AutoscalingConfigState:
|
|
|
302
319
|
"""
|
|
303
320
|
Input properties used for looking up and filtering AutoscalingConfig resources.
|
|
304
321
|
:param pulumi.Input[_builtins.str] cluster_id: The id of kubernetes cluster.
|
|
305
|
-
:param pulumi.Input[_builtins.str] cool_down_duration:
|
|
322
|
+
:param pulumi.Input[_builtins.str] cool_down_duration: Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
|
|
306
323
|
:param pulumi.Input[_builtins.bool] daemonset_eviction_for_nodes: If true DaemonSet pods will be terminated from nodes. Default is `false`.
|
|
307
|
-
:param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
324
|
+
:param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
308
325
|
:param pulumi.Input[_builtins.str] gpu_utilization_threshold: The scale-in threshold for GPU instance. Default is `0.5`.
|
|
309
326
|
:param pulumi.Input[_builtins.int] max_graceful_termination_sec: Maximum number of seconds CA waits for pod termination when trying to scale down a node. Default is `14400`.
|
|
310
327
|
:param pulumi.Input[_builtins.int] min_replica_count: Minimum number of replicas that a replica set or replication controller should have to allow their pods deletion in scale down. Default is `0`.
|
|
328
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] priorities: Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
|
|
311
329
|
:param pulumi.Input[_builtins.bool] recycle_node_deletion_enabled: Should CA delete the K8s node object when recycle node has scaled down successfully. Default is `false`.
|
|
312
330
|
:param pulumi.Input[_builtins.bool] scale_down_enabled: Specify whether to allow the scale-in of nodes. Default is `true`.
|
|
313
331
|
:param pulumi.Input[_builtins.bool] scale_up_from_zero: Should CA scale up when there 0 ready nodes. Default is `true`.
|
|
314
|
-
:param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
|
|
332
|
+
:param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
|
|
315
333
|
:param pulumi.Input[_builtins.str] scan_interval: The interval at which the cluster is reevaluated for scaling. Default is `30s`.
|
|
316
334
|
:param pulumi.Input[_builtins.bool] skip_nodes_with_local_storage: If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath. Default is `false`.
|
|
317
335
|
:param pulumi.Input[_builtins.bool] skip_nodes_with_system_pods: If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Default is `true`.
|
|
318
|
-
:param pulumi.Input[_builtins.str] unneeded_duration:
|
|
319
|
-
:param pulumi.Input[_builtins.str] utilization_threshold: The scale-in threshold. Default is `0.5`.
|
|
336
|
+
:param pulumi.Input[_builtins.str] unneeded_duration: Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
|
|
337
|
+
:param pulumi.Input[_builtins.str] utilization_threshold: The scale-in a threshold. Default is `0.5`.
|
|
320
338
|
"""
|
|
321
339
|
if cluster_id is not None:
|
|
322
340
|
pulumi.set(__self__, "cluster_id", cluster_id)
|
|
@@ -332,6 +350,8 @@ class _AutoscalingConfigState:
|
|
|
332
350
|
pulumi.set(__self__, "max_graceful_termination_sec", max_graceful_termination_sec)
|
|
333
351
|
if min_replica_count is not None:
|
|
334
352
|
pulumi.set(__self__, "min_replica_count", min_replica_count)
|
|
353
|
+
if priorities is not None:
|
|
354
|
+
pulumi.set(__self__, "priorities", priorities)
|
|
335
355
|
if recycle_node_deletion_enabled is not None:
|
|
336
356
|
pulumi.set(__self__, "recycle_node_deletion_enabled", recycle_node_deletion_enabled)
|
|
337
357
|
if scale_down_enabled is not None:
|
|
@@ -367,7 +387,7 @@ class _AutoscalingConfigState:
|
|
|
367
387
|
@pulumi.getter(name="coolDownDuration")
|
|
368
388
|
def cool_down_duration(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
369
389
|
"""
|
|
370
|
-
|
|
390
|
+
Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
|
|
371
391
|
"""
|
|
372
392
|
return pulumi.get(self, "cool_down_duration")
|
|
373
393
|
|
|
@@ -391,7 +411,7 @@ class _AutoscalingConfigState:
|
|
|
391
411
|
@pulumi.getter
|
|
392
412
|
def expander(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
393
413
|
"""
|
|
394
|
-
The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
414
|
+
The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
395
415
|
"""
|
|
396
416
|
return pulumi.get(self, "expander")
|
|
397
417
|
|
|
@@ -435,6 +455,18 @@ class _AutoscalingConfigState:
|
|
|
435
455
|
def min_replica_count(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
436
456
|
pulumi.set(self, "min_replica_count", value)
|
|
437
457
|
|
|
458
|
+
@_builtins.property
|
|
459
|
+
@pulumi.getter
|
|
460
|
+
def priorities(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
|
461
|
+
"""
|
|
462
|
+
Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
|
|
463
|
+
"""
|
|
464
|
+
return pulumi.get(self, "priorities")
|
|
465
|
+
|
|
466
|
+
@priorities.setter
|
|
467
|
+
def priorities(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
|
468
|
+
pulumi.set(self, "priorities", value)
|
|
469
|
+
|
|
438
470
|
@_builtins.property
|
|
439
471
|
@pulumi.getter(name="recycleNodeDeletionEnabled")
|
|
440
472
|
def recycle_node_deletion_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
@@ -475,7 +507,7 @@ class _AutoscalingConfigState:
|
|
|
475
507
|
@pulumi.getter(name="scalerType")
|
|
476
508
|
def scaler_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
477
509
|
"""
|
|
478
|
-
The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
|
|
510
|
+
The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
|
|
479
511
|
"""
|
|
480
512
|
return pulumi.get(self, "scaler_type")
|
|
481
513
|
|
|
@@ -523,7 +555,7 @@ class _AutoscalingConfigState:
|
|
|
523
555
|
@pulumi.getter(name="unneededDuration")
|
|
524
556
|
def unneeded_duration(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
525
557
|
"""
|
|
526
|
-
|
|
558
|
+
Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
|
|
527
559
|
"""
|
|
528
560
|
return pulumi.get(self, "unneeded_duration")
|
|
529
561
|
|
|
@@ -535,7 +567,7 @@ class _AutoscalingConfigState:
|
|
|
535
567
|
@pulumi.getter(name="utilizationThreshold")
|
|
536
568
|
def utilization_threshold(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
537
569
|
"""
|
|
538
|
-
The scale-in threshold. Default is `0.5`.
|
|
570
|
+
The scale-in a threshold. Default is `0.5`.
|
|
539
571
|
"""
|
|
540
572
|
return pulumi.get(self, "utilization_threshold")
|
|
541
573
|
|
|
@@ -557,6 +589,7 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
557
589
|
gpu_utilization_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
558
590
|
max_graceful_termination_sec: Optional[pulumi.Input[_builtins.int]] = None,
|
|
559
591
|
min_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
|
|
592
|
+
priorities: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
560
593
|
recycle_node_deletion_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
561
594
|
scale_down_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
562
595
|
scale_up_from_zero: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -578,24 +611,114 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
578
611
|
|
|
579
612
|
> **NOTE:** From version 1.237.0, support for selecting the type of autoscaler by parameter `scaler_type`.
|
|
580
613
|
|
|
614
|
+
> **NOTE:** From version 1.256.0, support for setting the priority of scaling groups by parameter `priorities`.
|
|
615
|
+
|
|
616
|
+
## Example Usage
|
|
617
|
+
|
|
618
|
+
If you do not have an existing cluster, you need to create an ACK cluster through cs.ManagedKubernetes first, and then configure automatic scaling.
|
|
619
|
+
|
|
620
|
+
Basic Usage
|
|
621
|
+
|
|
622
|
+
```python
|
|
623
|
+
import pulumi
|
|
624
|
+
import pulumi_alicloud as alicloud
|
|
625
|
+
import pulumi_std as std
|
|
626
|
+
|
|
627
|
+
config = pulumi.Config()
|
|
628
|
+
name = config.get("name")
|
|
629
|
+
if name is None:
|
|
630
|
+
name = "terraform-example"
|
|
631
|
+
default = alicloud.get_zones(available_resource_creation="VSwitch")
|
|
632
|
+
default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,
|
|
633
|
+
cpu_core_count=4,
|
|
634
|
+
memory_size=8,
|
|
635
|
+
kubernetes_node_role="Worker",
|
|
636
|
+
system_disk_category="cloud_essd")
|
|
637
|
+
default_network = alicloud.vpc.Network("default",
|
|
638
|
+
vpc_name=name,
|
|
639
|
+
cidr_block="10.4.0.0/16")
|
|
640
|
+
default_switch = alicloud.vpc.Switch("default",
|
|
641
|
+
vswitch_name=name,
|
|
642
|
+
cidr_block="10.4.0.0/24",
|
|
643
|
+
vpc_id=default_network.id,
|
|
644
|
+
zone_id=default.zones[0].id)
|
|
645
|
+
default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default",
|
|
646
|
+
name_prefix=name,
|
|
647
|
+
cluster_spec="ack.pro.small",
|
|
648
|
+
worker_vswitch_ids=[default_switch.id],
|
|
649
|
+
new_nat_gateway=True,
|
|
650
|
+
pod_cidr=std.cidrsubnet(input="10.0.0.0/8",
|
|
651
|
+
newbits=8,
|
|
652
|
+
netnum=36).result,
|
|
653
|
+
service_cidr=std.cidrsubnet(input="172.16.0.0/16",
|
|
654
|
+
newbits=4,
|
|
655
|
+
netnum=7).result,
|
|
656
|
+
slb_internet_enabled=True)
|
|
657
|
+
default_node_pool = []
|
|
658
|
+
for range in [{"value": i} for i in range(0, 3)]:
|
|
659
|
+
default_node_pool.append(alicloud.cs.NodePool(f"default-{range['value']}",
|
|
660
|
+
node_pool_name=std.format(input="%s-%d",
|
|
661
|
+
args=[
|
|
662
|
+
name,
|
|
663
|
+
range["value"],
|
|
664
|
+
]).result,
|
|
665
|
+
cluster_id=default_managed_kubernetes.id,
|
|
666
|
+
vswitch_ids=[default_switch.id],
|
|
667
|
+
instance_types=[default_get_instance_types.instance_types[0].id],
|
|
668
|
+
system_disk_category="cloud_essd",
|
|
669
|
+
system_disk_size=40,
|
|
670
|
+
image_type="AliyunLinux3",
|
|
671
|
+
scaling_config={
|
|
672
|
+
"enable": True,
|
|
673
|
+
"min_size": 0,
|
|
674
|
+
"max_size": 10,
|
|
675
|
+
}))
|
|
676
|
+
default_autoscaling_config = alicloud.cs.AutoscalingConfig("default",
|
|
677
|
+
cluster_id=default_managed_kubernetes.id,
|
|
678
|
+
cool_down_duration="10m",
|
|
679
|
+
unneeded_duration="10m",
|
|
680
|
+
utilization_threshold="0.5",
|
|
681
|
+
gpu_utilization_threshold="0.5",
|
|
682
|
+
scan_interval="30s",
|
|
683
|
+
scale_down_enabled=True,
|
|
684
|
+
expander="priority",
|
|
685
|
+
skip_nodes_with_system_pods=True,
|
|
686
|
+
skip_nodes_with_local_storage=False,
|
|
687
|
+
daemonset_eviction_for_nodes=False,
|
|
688
|
+
max_graceful_termination_sec=14400,
|
|
689
|
+
min_replica_count=0,
|
|
690
|
+
recycle_node_deletion_enabled=False,
|
|
691
|
+
scale_up_from_zero=True,
|
|
692
|
+
scaler_type="cluster-autoscaler",
|
|
693
|
+
priorities={
|
|
694
|
+
"10": std.join_output(separator=",",
|
|
695
|
+
input=[
|
|
696
|
+
default_node_pool[0].scaling_group_id,
|
|
697
|
+
default_node_pool[1].scaling_group_id,
|
|
698
|
+
]).apply(lambda invoke: invoke.result),
|
|
699
|
+
"20": default_node_pool[2].scaling_group_id,
|
|
700
|
+
})
|
|
701
|
+
```
|
|
702
|
+
|
|
581
703
|
:param str resource_name: The name of the resource.
|
|
582
704
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
583
705
|
:param pulumi.Input[_builtins.str] cluster_id: The id of kubernetes cluster.
|
|
584
|
-
:param pulumi.Input[_builtins.str] cool_down_duration:
|
|
706
|
+
:param pulumi.Input[_builtins.str] cool_down_duration: Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
|
|
585
707
|
:param pulumi.Input[_builtins.bool] daemonset_eviction_for_nodes: If true DaemonSet pods will be terminated from nodes. Default is `false`.
|
|
586
|
-
:param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
708
|
+
:param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
587
709
|
:param pulumi.Input[_builtins.str] gpu_utilization_threshold: The scale-in threshold for GPU instance. Default is `0.5`.
|
|
588
710
|
:param pulumi.Input[_builtins.int] max_graceful_termination_sec: Maximum number of seconds CA waits for pod termination when trying to scale down a node. Default is `14400`.
|
|
589
711
|
:param pulumi.Input[_builtins.int] min_replica_count: Minimum number of replicas that a replica set or replication controller should have to allow their pods deletion in scale down. Default is `0`.
|
|
712
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] priorities: Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
|
|
590
713
|
:param pulumi.Input[_builtins.bool] recycle_node_deletion_enabled: Should CA delete the K8s node object when recycle node has scaled down successfully. Default is `false`.
|
|
591
714
|
:param pulumi.Input[_builtins.bool] scale_down_enabled: Specify whether to allow the scale-in of nodes. Default is `true`.
|
|
592
715
|
:param pulumi.Input[_builtins.bool] scale_up_from_zero: Should CA scale up when there 0 ready nodes. Default is `true`.
|
|
593
|
-
:param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
|
|
716
|
+
:param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
|
|
594
717
|
:param pulumi.Input[_builtins.str] scan_interval: The interval at which the cluster is reevaluated for scaling. Default is `30s`.
|
|
595
718
|
:param pulumi.Input[_builtins.bool] skip_nodes_with_local_storage: If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath. Default is `false`.
|
|
596
719
|
:param pulumi.Input[_builtins.bool] skip_nodes_with_system_pods: If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Default is `true`.
|
|
597
|
-
:param pulumi.Input[_builtins.str] unneeded_duration:
|
|
598
|
-
:param pulumi.Input[_builtins.str] utilization_threshold: The scale-in threshold. Default is `0.5`.
|
|
720
|
+
:param pulumi.Input[_builtins.str] unneeded_duration: Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
|
|
721
|
+
:param pulumi.Input[_builtins.str] utilization_threshold: The scale-in a threshold. Default is `0.5`.
|
|
599
722
|
"""
|
|
600
723
|
...
|
|
601
724
|
@overload
|
|
@@ -614,6 +737,95 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
614
737
|
|
|
615
738
|
> **NOTE:** From version 1.237.0, support for selecting the type of autoscaler by parameter `scaler_type`.
|
|
616
739
|
|
|
740
|
+
> **NOTE:** From version 1.256.0, support for setting the priority of scaling groups by parameter `priorities`.
|
|
741
|
+
|
|
742
|
+
## Example Usage
|
|
743
|
+
|
|
744
|
+
If you do not have an existing cluster, you need to create an ACK cluster through cs.ManagedKubernetes first, and then configure automatic scaling.
|
|
745
|
+
|
|
746
|
+
Basic Usage
|
|
747
|
+
|
|
748
|
+
```python
|
|
749
|
+
import pulumi
|
|
750
|
+
import pulumi_alicloud as alicloud
|
|
751
|
+
import pulumi_std as std
|
|
752
|
+
|
|
753
|
+
config = pulumi.Config()
|
|
754
|
+
name = config.get("name")
|
|
755
|
+
if name is None:
|
|
756
|
+
name = "terraform-example"
|
|
757
|
+
default = alicloud.get_zones(available_resource_creation="VSwitch")
|
|
758
|
+
default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,
|
|
759
|
+
cpu_core_count=4,
|
|
760
|
+
memory_size=8,
|
|
761
|
+
kubernetes_node_role="Worker",
|
|
762
|
+
system_disk_category="cloud_essd")
|
|
763
|
+
default_network = alicloud.vpc.Network("default",
|
|
764
|
+
vpc_name=name,
|
|
765
|
+
cidr_block="10.4.0.0/16")
|
|
766
|
+
default_switch = alicloud.vpc.Switch("default",
|
|
767
|
+
vswitch_name=name,
|
|
768
|
+
cidr_block="10.4.0.0/24",
|
|
769
|
+
vpc_id=default_network.id,
|
|
770
|
+
zone_id=default.zones[0].id)
|
|
771
|
+
default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default",
|
|
772
|
+
name_prefix=name,
|
|
773
|
+
cluster_spec="ack.pro.small",
|
|
774
|
+
worker_vswitch_ids=[default_switch.id],
|
|
775
|
+
new_nat_gateway=True,
|
|
776
|
+
pod_cidr=std.cidrsubnet(input="10.0.0.0/8",
|
|
777
|
+
newbits=8,
|
|
778
|
+
netnum=36).result,
|
|
779
|
+
service_cidr=std.cidrsubnet(input="172.16.0.0/16",
|
|
780
|
+
newbits=4,
|
|
781
|
+
netnum=7).result,
|
|
782
|
+
slb_internet_enabled=True)
|
|
783
|
+
default_node_pool = []
|
|
784
|
+
for range in [{"value": i} for i in range(0, 3)]:
|
|
785
|
+
default_node_pool.append(alicloud.cs.NodePool(f"default-{range['value']}",
|
|
786
|
+
node_pool_name=std.format(input="%s-%d",
|
|
787
|
+
args=[
|
|
788
|
+
name,
|
|
789
|
+
range["value"],
|
|
790
|
+
]).result,
|
|
791
|
+
cluster_id=default_managed_kubernetes.id,
|
|
792
|
+
vswitch_ids=[default_switch.id],
|
|
793
|
+
instance_types=[default_get_instance_types.instance_types[0].id],
|
|
794
|
+
system_disk_category="cloud_essd",
|
|
795
|
+
system_disk_size=40,
|
|
796
|
+
image_type="AliyunLinux3",
|
|
797
|
+
scaling_config={
|
|
798
|
+
"enable": True,
|
|
799
|
+
"min_size": 0,
|
|
800
|
+
"max_size": 10,
|
|
801
|
+
}))
|
|
802
|
+
default_autoscaling_config = alicloud.cs.AutoscalingConfig("default",
|
|
803
|
+
cluster_id=default_managed_kubernetes.id,
|
|
804
|
+
cool_down_duration="10m",
|
|
805
|
+
unneeded_duration="10m",
|
|
806
|
+
utilization_threshold="0.5",
|
|
807
|
+
gpu_utilization_threshold="0.5",
|
|
808
|
+
scan_interval="30s",
|
|
809
|
+
scale_down_enabled=True,
|
|
810
|
+
expander="priority",
|
|
811
|
+
skip_nodes_with_system_pods=True,
|
|
812
|
+
skip_nodes_with_local_storage=False,
|
|
813
|
+
daemonset_eviction_for_nodes=False,
|
|
814
|
+
max_graceful_termination_sec=14400,
|
|
815
|
+
min_replica_count=0,
|
|
816
|
+
recycle_node_deletion_enabled=False,
|
|
817
|
+
scale_up_from_zero=True,
|
|
818
|
+
scaler_type="cluster-autoscaler",
|
|
819
|
+
priorities={
|
|
820
|
+
"10": std.join_output(separator=",",
|
|
821
|
+
input=[
|
|
822
|
+
default_node_pool[0].scaling_group_id,
|
|
823
|
+
default_node_pool[1].scaling_group_id,
|
|
824
|
+
]).apply(lambda invoke: invoke.result),
|
|
825
|
+
"20": default_node_pool[2].scaling_group_id,
|
|
826
|
+
})
|
|
827
|
+
```
|
|
828
|
+
|
|
617
829
|
:param str resource_name: The name of the resource.
|
|
618
830
|
:param AutoscalingConfigArgs args: The arguments to use to populate this resource's properties.
|
|
619
831
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
@@ -636,6 +848,7 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
636
848
|
gpu_utilization_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
637
849
|
max_graceful_termination_sec: Optional[pulumi.Input[_builtins.int]] = None,
|
|
638
850
|
min_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
|
|
851
|
+
priorities: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
639
852
|
recycle_node_deletion_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
640
853
|
scale_down_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
641
854
|
scale_up_from_zero: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -661,6 +874,7 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
661
874
|
__props__.__dict__["gpu_utilization_threshold"] = gpu_utilization_threshold
|
|
662
875
|
__props__.__dict__["max_graceful_termination_sec"] = max_graceful_termination_sec
|
|
663
876
|
__props__.__dict__["min_replica_count"] = min_replica_count
|
|
877
|
+
__props__.__dict__["priorities"] = priorities
|
|
664
878
|
__props__.__dict__["recycle_node_deletion_enabled"] = recycle_node_deletion_enabled
|
|
665
879
|
__props__.__dict__["scale_down_enabled"] = scale_down_enabled
|
|
666
880
|
__props__.__dict__["scale_up_from_zero"] = scale_up_from_zero
|
|
@@ -687,6 +901,7 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
687
901
|
gpu_utilization_threshold: Optional[pulumi.Input[_builtins.str]] = None,
|
|
688
902
|
max_graceful_termination_sec: Optional[pulumi.Input[_builtins.int]] = None,
|
|
689
903
|
min_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
|
|
904
|
+
priorities: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
|
690
905
|
recycle_node_deletion_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
691
906
|
scale_down_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
692
907
|
scale_up_from_zero: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -704,21 +919,22 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
704
919
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
705
920
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
706
921
|
:param pulumi.Input[_builtins.str] cluster_id: The id of kubernetes cluster.
|
|
707
|
-
:param pulumi.Input[_builtins.str] cool_down_duration:
|
|
922
|
+
:param pulumi.Input[_builtins.str] cool_down_duration: Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
|
|
708
923
|
:param pulumi.Input[_builtins.bool] daemonset_eviction_for_nodes: If true DaemonSet pods will be terminated from nodes. Default is `false`.
|
|
709
|
-
:param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
924
|
+
:param pulumi.Input[_builtins.str] expander: The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
710
925
|
:param pulumi.Input[_builtins.str] gpu_utilization_threshold: The scale-in threshold for GPU instance. Default is `0.5`.
|
|
711
926
|
:param pulumi.Input[_builtins.int] max_graceful_termination_sec: Maximum number of seconds CA waits for pod termination when trying to scale down a node. Default is `14400`.
|
|
712
927
|
:param pulumi.Input[_builtins.int] min_replica_count: Minimum number of replicas that a replica set or replication controller should have to allow their pods deletion in scale down. Default is `0`.
|
|
928
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] priorities: Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
|
|
713
929
|
:param pulumi.Input[_builtins.bool] recycle_node_deletion_enabled: Should CA delete the K8s node object when recycle node has scaled down successfully. Default is `false`.
|
|
714
930
|
:param pulumi.Input[_builtins.bool] scale_down_enabled: Specify whether to allow the scale-in of nodes. Default is `true`.
|
|
715
931
|
:param pulumi.Input[_builtins.bool] scale_up_from_zero: Should CA scale up when there 0 ready nodes. Default is `true`.
|
|
716
|
-
:param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
|
|
932
|
+
:param pulumi.Input[_builtins.str] scaler_type: The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
|
|
717
933
|
:param pulumi.Input[_builtins.str] scan_interval: The interval at which the cluster is reevaluated for scaling. Default is `30s`.
|
|
718
934
|
:param pulumi.Input[_builtins.bool] skip_nodes_with_local_storage: If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath. Default is `false`.
|
|
719
935
|
:param pulumi.Input[_builtins.bool] skip_nodes_with_system_pods: If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Default is `true`.
|
|
720
|
-
:param pulumi.Input[_builtins.str] unneeded_duration:
|
|
721
|
-
:param pulumi.Input[_builtins.str] utilization_threshold: The scale-in threshold. Default is `0.5`.
|
|
936
|
+
:param pulumi.Input[_builtins.str] unneeded_duration: Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
|
|
937
|
+
:param pulumi.Input[_builtins.str] utilization_threshold: The scale-in a threshold. Default is `0.5`.
|
|
722
938
|
"""
|
|
723
939
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
724
940
|
|
|
@@ -731,6 +947,7 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
731
947
|
__props__.__dict__["gpu_utilization_threshold"] = gpu_utilization_threshold
|
|
732
948
|
__props__.__dict__["max_graceful_termination_sec"] = max_graceful_termination_sec
|
|
733
949
|
__props__.__dict__["min_replica_count"] = min_replica_count
|
|
950
|
+
__props__.__dict__["priorities"] = priorities
|
|
734
951
|
__props__.__dict__["recycle_node_deletion_enabled"] = recycle_node_deletion_enabled
|
|
735
952
|
__props__.__dict__["scale_down_enabled"] = scale_down_enabled
|
|
736
953
|
__props__.__dict__["scale_up_from_zero"] = scale_up_from_zero
|
|
@@ -754,7 +971,7 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
754
971
|
@pulumi.getter(name="coolDownDuration")
|
|
755
972
|
def cool_down_duration(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
756
973
|
"""
|
|
757
|
-
|
|
974
|
+
Specify the time interval between detecting a scale-in requirement (when the threshold is reached) and actually executing the scale-in operation (reducing the number of Pods). Default is `10m`. If the delay (cooldown) value is set too long, there could be complaints that the Horizontal Pod Autoscaler is not responsive to workload changes. However, if the delay value is set too short, the scale of the replicas set may keep thrashing as usual.
|
|
758
975
|
"""
|
|
759
976
|
return pulumi.get(self, "cool_down_duration")
|
|
760
977
|
|
|
@@ -770,7 +987,7 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
770
987
|
@pulumi.getter
|
|
771
988
|
def expander(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
772
989
|
"""
|
|
773
|
-
The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
990
|
+
The policy for selecting which node pool to scale. Valid values: `least-waste`, `random`, `priority`. For scaler type `goatscaler`, only the `least-waste` expander is currently supported. For more information on these policies, see [Configure auto scaling](https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/auto-scaling-of-nodes#section-3bg-2ko-inl)
|
|
774
991
|
"""
|
|
775
992
|
return pulumi.get(self, "expander")
|
|
776
993
|
|
|
@@ -798,6 +1015,14 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
798
1015
|
"""
|
|
799
1016
|
return pulumi.get(self, "min_replica_count")
|
|
800
1017
|
|
|
1018
|
+
@_builtins.property
|
|
1019
|
+
@pulumi.getter
|
|
1020
|
+
def priorities(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
|
|
1021
|
+
"""
|
|
1022
|
+
Priority settings for autoscaling node pool scaling groups. This parameter only takes effect when `expander` is set to `priority`. Only supports scaler type `cluster-autoscaler`. Uses key-value pairs where the key is the priority value, and the value is a comma-separated list of scaling group IDs. High numerical values indicate higher priority.
|
|
1023
|
+
"""
|
|
1024
|
+
return pulumi.get(self, "priorities")
|
|
1025
|
+
|
|
801
1026
|
@_builtins.property
|
|
802
1027
|
@pulumi.getter(name="recycleNodeDeletionEnabled")
|
|
803
1028
|
def recycle_node_deletion_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
@@ -826,7 +1051,7 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
826
1051
|
@pulumi.getter(name="scalerType")
|
|
827
1052
|
def scaler_type(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
828
1053
|
"""
|
|
829
|
-
The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`.
|
|
1054
|
+
The type of autoscaler. Valid values: `cluster-autoscaler`, `goatscaler`. For cluster version 1.22 and below, we only support `cluster-autoscaler`. When switching from `cluster-autoscaler` to `goatscaler`, all configuration parameters will be automatically migrated.
|
|
830
1055
|
"""
|
|
831
1056
|
return pulumi.get(self, "scaler_type")
|
|
832
1057
|
|
|
@@ -858,7 +1083,7 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
858
1083
|
@pulumi.getter(name="unneededDuration")
|
|
859
1084
|
def unneeded_duration(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
860
1085
|
"""
|
|
861
|
-
|
|
1086
|
+
Specify the time interval during which autoscaler does not perform scale-in operations after the most recent scale-out completion. Nodes added through scale-out can only be considered for scale-in after the period has elapsed. Default is `10m`.
|
|
862
1087
|
"""
|
|
863
1088
|
return pulumi.get(self, "unneeded_duration")
|
|
864
1089
|
|
|
@@ -866,7 +1091,7 @@ class AutoscalingConfig(pulumi.CustomResource):
|
|
|
866
1091
|
@pulumi.getter(name="utilizationThreshold")
|
|
867
1092
|
def utilization_threshold(self) -> pulumi.Output[Optional[_builtins.str]]:
|
|
868
1093
|
"""
|
|
869
|
-
The scale-in threshold. Default is `0.5`.
|
|
1094
|
+
The scale-in a threshold. Default is `0.5`.
|
|
870
1095
|
"""
|
|
871
1096
|
return pulumi.get(self, "utilization_threshold")
|
|
872
1097
|
|
|
@@ -139,6 +139,21 @@ def get_cluster_credential(cluster_id: Optional[_builtins.str] = None,
|
|
|
139
139
|
|
|
140
140
|
> **NOTE:** This datasource can be used on all kinds of ACK clusters, including managed clusters, imported kubernetes clusters, serverless clusters and edge clusters. Please make sure that the target cluster is not in the failed state before using this datasource, since the api server of clusters in the failed state cannot be accessed.
|
|
141
141
|
|
|
142
|
+
## Example Usage
|
|
143
|
+
|
|
144
|
+
```python
|
|
145
|
+
import pulumi
|
|
146
|
+
import pulumi_alicloud as alicloud
|
|
147
|
+
import pulumi_std as std
|
|
148
|
+
|
|
149
|
+
# Declare the data source
|
|
150
|
+
k8s = alicloud.cs.get_managed_kubernetes_clusters(name_regex="my-cluster",
|
|
151
|
+
enable_details=False)
|
|
152
|
+
auth = {__key: alicloud.cs.get_cluster_credential(cluster_id=__key,
|
|
153
|
+
temporary_duration_minutes=60,
|
|
154
|
+
output_file="my-auth-json") for __key, __value in std.toset(input=k8s.ids).result}
|
|
155
|
+
```
|
|
156
|
+
|
|
142
157
|
|
|
143
158
|
:param _builtins.str cluster_id: The id of target cluster.
|
|
144
159
|
:param _builtins.str output_file: File name where to save the returned KubeConfig (after running `pulumi preview`).
|
|
@@ -171,6 +186,21 @@ def get_cluster_credential_output(cluster_id: Optional[pulumi.Input[_builtins.st
|
|
|
171
186
|
|
|
172
187
|
> **NOTE:** This datasource can be used on all kinds of ACK clusters, including managed clusters, imported kubernetes clusters, serverless clusters and edge clusters. Please make sure that the target cluster is not in the failed state before using this datasource, since the api server of clusters in the failed state cannot be accessed.
|
|
173
188
|
|
|
189
|
+
## Example Usage
|
|
190
|
+
|
|
191
|
+
```python
|
|
192
|
+
import pulumi
|
|
193
|
+
import pulumi_alicloud as alicloud
|
|
194
|
+
import pulumi_std as std
|
|
195
|
+
|
|
196
|
+
# Declare the data source
|
|
197
|
+
k8s = alicloud.cs.get_managed_kubernetes_clusters(name_regex="my-cluster",
|
|
198
|
+
enable_details=False)
|
|
199
|
+
auth = {__key: alicloud.cs.get_cluster_credential(cluster_id=__key,
|
|
200
|
+
temporary_duration_minutes=60,
|
|
201
|
+
output_file="my-auth-json") for __key, __value in std.toset(input=k8s.ids).result}
|
|
202
|
+
```
|
|
203
|
+
|
|
174
204
|
|
|
175
205
|
:param _builtins.str cluster_id: The id of target cluster.
|
|
176
206
|
:param _builtins.str output_file: File name where to save the returned KubeConfig (after running `pulumi preview`).
|