ManagedCluster Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Managed cluster.
[System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ManagedClusterTypeConverter))]
public class ManagedCluster : Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IManagedCluster, Microsoft.Azure.PowerShell.Cmdlets.Aks.Runtime.IValidates
[<System.ComponentModel.TypeConverter(typeof(Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.ManagedClusterTypeConverter))>]
type ManagedCluster = class
interface IManagedCluster
interface IJsonSerializable
interface ITrackedResource
interface IResource
interface IValidates
Public Class ManagedCluster
Implements IManagedCluster, IValidates
- Inheritance
-
ManagedCluster
- Attributes
- Implements
Constructors
| Name | Description |
|---|---|
| ManagedCluster() |
Creates an new ManagedCluster instance. |
Properties
| Name | Description |
|---|---|
| AadProfileAdminGroupObjectID |
The list of AAD group object IDs that will have admin role of the cluster. |
| AadProfileClientAppId |
(DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. |
| AadProfileEnableAzureRbac |
Whether to enable Azure RBAC for Kubernetes authorization. |
| AadProfileManaged |
Whether to enable managed AAD. |
| AadProfileServerAppId |
(DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. |
| AadProfileServerAppSecret |
(DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. |
| AadProfileTenantId |
The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. |
| AddonProfile |
The profile of managed cluster add-on. |
| AgentPoolProfile |
The agent pool properties. |
| AiToolchainOperatorProfileEnabled |
Whether to enable AI toolchain operator to the cluster. Indicates if AI toolchain operator enabled or not. |
| ApiServerAccessProfileAuthorizedIPRange |
The IP ranges authorized to access the Kubernetes API server. IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges. |
| ApiServerAccessProfileDisableRunCommand |
Whether to disable run command for the cluster or not. |
| ApiServerAccessProfileEnablePrivateCluster |
Whether to create the cluster as a private cluster or not. For more details, see Creating a private AKS cluster. |
| ApiServerAccessProfileEnablePrivateClusterPublicFqdn |
Whether to create additional public FQDN for private cluster or not. |
| ApiServerAccessProfileEnableVnetIntegration |
Whether to enable apiserver vnet integration for the cluster or not. See aka.ms/AksVnetIntegration for more details. |
| ApiServerAccessProfilePrivateDnsZone |
The private DNS zone mode for the cluster. The default is System. For more details see configure private DNS zone. Allowed values are 'system' and 'none'. |
| ApiServerAccessProfileSubnetId |
The subnet to be used when apiserver vnet integration is enabled. It is required when creating a new cluster with BYO Vnet, or when updating an existing cluster to enable apiserver vnet integration. |
| AutoScalerProfileBalanceSimilarNodeGroup |
Detects similar node pools and balances the number of nodes between them. Valid values are 'true' and 'false' |
| AutoScalerProfileDaemonsetEvictionForEmptyNode |
DaemonSet pods will be gracefully terminated from empty nodes. If set to true, all daemonset pods on empty nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted. |
| AutoScalerProfileDaemonsetEvictionForOccupiedNode |
DaemonSet pods will be gracefully terminated from non-empty nodes. If set to true, all daemonset pods on occupied nodes will be evicted before deletion of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be deleted without ensuring that daemonset pods are deleted or evicted. |
| AutoScalerProfileExpander |
The expander to use when scaling up. If not specified, the default is 'random'. See expanders for more information. |
| AutoScalerProfileIgnoreDaemonsetsUtilization |
Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. If set to true, the resources used by daemonset will be taken into account when making scaling down decisions. |
| AutoScalerProfileMaxEmptyBulkDelete |
The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer. The default is 10. |
| AutoScalerProfileMaxGracefulTerminationSec |
The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. The default is 600. |
| AutoScalerProfileMaxNodeProvisionTime |
The maximum time the autoscaler waits for a node to be provisioned. The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. |
| AutoScalerProfileMaxTotalUnreadyPercentage |
The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations. The default is 45. The maximum is 100 and the minimum is 0. |
| AutoScalerProfileNewPodScaleUpDelay |
Ignore unscheduled pods before they're a certain age. For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). |
| AutoScalerProfileOkTotalUnreadyCount |
The number of allowed unready nodes, irrespective of max-total-unready-percentage. This must be an integer. The default is 3. |
| AutoScalerProfileScaleDownDelayAfterAdd |
How long after scale up that scale down evaluation resumes. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. |
| AutoScalerProfileScaleDownDelayAfterDelete |
How long after node deletion that scale down evaluation resumes. The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. |
| AutoScalerProfileScaleDownDelayAfterFailure |
How long after scale down failure that scale down evaluation resumes. The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. |
| AutoScalerProfileScaleDownUnneededTime |
How long a node should be unneeded before it is eligible for scale down. The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. |
| AutoScalerProfileScaleDownUnreadyTime |
How long an unready node should be unneeded before it is eligible for scale down. The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. |
| AutoScalerProfileScaleDownUtilizationThreshold |
Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. The default is '0.5'. |
| AutoScalerProfileScanInterval |
How often cluster is reevaluated for scale up or down. The default is '10'. Values must be an integer number of seconds. |
| AutoScalerProfileSkipNodesWithLocalStorage |
If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath. The default is true. |
| AutoScalerProfileSkipNodesWithSystemPod |
If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods). The default is true. |
| AutoUpgradeProfileNodeOSUpgradeChannel |
Node OS Upgrade Channel. Manner in which the OS on your nodes is updated. The default is NodeImage. |
| AutoUpgradeProfileUpgradeChannel |
The upgrade channel for auto upgrade. The default is 'none'. For more information see setting the AKS cluster auto-upgrade channel. |
| AzureKeyVaultKmEnabled |
Whether to enable Azure Key Vault key management service. The default is false. |
| AzureKeyVaultKmKeyId |
Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. |
| AzureKeyVaultKmKeyVaultNetworkAccess |
Network access of the key vault. Network access of key vault. The possible values are |
| AzureKeyVaultKmKeyVaultResourceId |
Resource ID of key vault. When keyVaultNetworkAccess is |
| AzurePortalFqdn |
The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients. The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly. |
| BlobCsiDriverEnabled |
Whether to enable AzureBlob CSI Driver. The default value is false. |
| BootstrapProfileArtifactSource |
The artifact source. The source where the artifacts are downloaded from. |
| BootstrapProfileContainerRegistryId |
The resource Id of Azure Container Registry. The registry must have private network access, premium SKU and zone redundancy. |
| ComponentEgressGateway |
Istio egress gateways. |
| ComponentIngressGateway |
Istio ingress gateways. |
| CostAnalysisEnabled |
Whether to enable cost analysis. The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the default is false. For more information see aka.ms/aks/docs/cost-analysis. |
| CurrentKubernetesVersion | |
| DefenderLogAnalyticsWorkspaceResourceId |
Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. |
| DisableLocalAccount |
If local accounts should be disabled on the Managed Cluster. If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see disable local accounts. |
| DiskCsiDriverEnabled |
Whether to enable AzureDisk CSI Driver. The default value is true. |
| DiskEncryptionSetId |
The Resource ID of the disk encryption set to use for enabling encryption at rest. This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' |
| DnsPrefix |
The DNS prefix of the Managed Cluster. This cannot be updated once the Managed Cluster has been created. |
| EnableRbac |
Whether to enable Kubernetes Role-Based Access Control. |
| ETag |
Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic concurrency per the normal etag convention. |
| ExtendedLocationName |
The name of the extended location. |
| ExtendedLocationType |
The type of the extended location. |
| FileCsiDriverEnabled |
Whether to enable AzureFile CSI Driver. The default value is true. |
| Fqdn |
The FQDN of the master pool. |
| FqdnSubdomain |
The FQDN subdomain of the private cluster with custom private dns zone. This cannot be updated once the Managed Cluster has been created. |
| GmsaProfileDnsServer | |
| GmsaProfileEnabled |
Whether to enable Windows gMSA. Specifies whether to enable Windows gMSA in the managed cluster. |
| GmsaProfileRootDomainName | |
| HttpProxyConfigHttpProxy |
The HTTP proxy server endpoint to use. |
| HttpProxyConfigHttpsProxy |
The HTTPS proxy server endpoint to use. |
| HttpProxyConfigNoProxy |
The endpoints that should not go through proxy. |
| HttpProxyConfigTrustedCa |
Alternative CA cert to use for connecting to proxy servers. |
| Id |
Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" |
| IdentityClientId |
The client ID of the user assigned identity. |
| IdentityDelegatedResource |
The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. |
| IdentityObjectId |
The object ID of the user assigned identity. |
| IdentityPrincipalId |
The principal id of the system assigned identity which is used by master components. |
| IdentityProfile |
The user identity associated with the managed cluster. This identity will be used by the kubelet. Only one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". |
| IdentityResourceId |
The resource ID of the user assigned identity. |
| IdentityTenantId |
The tenant id of the system assigned identity which is used by master components. |
| IdentityType |
The type of identity used for the managed cluster. For more information see use managed identities in AKS. |
| IdentityUserAssignedIdentity |
The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed. The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
| ImageCleanerEnabled |
Whether to enable Image Cleaner on AKS cluster. |
| ImageCleanerIntervalHour |
Image Cleaner scanning interval in hours. |
| IstioRevision |
The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade |
| KedaEnabled |
Whether to enable KEDA. |
| Kind |
This is primarily used to expose different UI experiences in the portal for different kinds |
| KubernetesVersion | |
| KubeStateMetricAnnotationsAllowList |
Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric contains only resource name and namespace labels. |
| KubeStateMetricLabelsAllowlist |
Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only resource name and namespace labels. |
| LinuxProfileAdminUsername |
The administrator username to use for Linux VMs. |
| Location |
The geo-location where the resource lives |
| MaxAgentPool |
The max number of agent pools for the managed cluster. |
| MetricEnabled |
Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. |
| Name |
The name of the resource |
| NetworkProfile |
The network configuration profile. |
| NginxDefaultIngressControllerType |
Ingress type for the default NginxIngressController custom resource |
| NodeProvisioningProfileDefaultNodePool |
The set of default Karpenter NodePools (CRDs) configured for node provisioning. This field has no effect unless mode is 'Auto'. Warning: Changing this from Auto to None on an existing cluster will cause the default Karpenter NodePools to be deleted, which will drain and delete the nodes associated with those pools. It is strongly recommended to not do this unless there are idle nodes ready to take the pods evicted by that action. If not specified, the default is Auto. For more information see aka.ms/aks/nap#node-pools. |
| NodeProvisioningProfileMode |
The node provisioning mode. If not specified, the default is Manual. |
| NodeResourceGroup |
The name of the resource group containing agent pool nodes. |
| NodeResourceGroupProfileRestrictionLevel |
The restriction level applied to the cluster's node resource group. If not specified, the default is 'Unrestricted' |
| OidcIssuerProfileEnabled |
Whether the OIDC issuer is enabled. |
| OidcIssuerProfileIssuerUrl |
The OIDC issuer url of the Managed Cluster. |
| OverrideSettingForceUpgrade |
Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. |
| OverrideSettingUntil |
Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness
won't change once an upgrade starts even if the |
| PluginCertChainObjectName |
Certificate chain object name in Azure Key Vault. |
| PluginCertObjectName |
Intermediate certificate object name in Azure Key Vault. |
| PluginKeyObjectName |
Intermediate certificate private key object name in Azure Key Vault. |
| PluginKeyVaultId |
The resource ID of the Key Vault. |
| PluginRootCertObjectName |
Root certificate object name in Azure Key Vault. |
| PodIdentityProfileAllowNetworkPluginKubenet |
Whether pod identity is allowed to run on clusters with Kubenet networking. Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information. |
| PodIdentityProfileEnabled |
Whether the pod identity addon is enabled. |
| PodIdentityProfileUserAssignedIdentity |
The pod identities to use in the cluster. |
| PodIdentityProfileUserAssignedIdentityException |
The pod identity exceptions to allow. |
| PowerStateCode |
Tells whether the cluster is Running or Stopped |
| PrivateFqdn |
The FQDN of private cluster. |
| PrivateLinkResource |
Private link resources associated with the cluster. |
| ProvisioningErrorAdditionalInfo |
The error additional info. |
| ProvisioningErrorCode |
The error code. |
| ProvisioningErrorDetail |
The error details. |
| ProvisioningErrorMessage |
The error message. |
| ProvisioningErrorTarget |
The error target. |
| ProvisioningState |
The current provisioning state. |
| PublicNetworkAccess |
PublicNetworkAccess of the managedCluster. Allow or deny public network access for AKS |
| ResourceGroupName |
Gets the resource group name |
| ResourceUid |
The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create sequence) |
| SecurityMonitoringEnabled |
Whether to enable Defender threat detection |
| SecurityProfileCustomCaTrustCertificate |
A list of up to 10 base64 encoded CAs that will be added to the trust store on all nodes in the cluster. For more information see Custom CA Trust Certificates. |
| ServiceMeshProfileMode |
Mode of the service mesh. |
| ServicePrincipalProfileClientId |
The ID for the service principal. |
| ServicePrincipalProfileSecret |
The secret password associated with the service principal in plain text. |
| SkuName |
The name of a managed cluster SKU. |
| SkuTier |
The tier of a managed cluster SKU. If not specified, the default is 'Free'. See AKS Pricing Tier for more details. |
| SnapshotControllerEnabled |
Whether to enable Snapshot Controller. The default value is true. |
| SshPublicKey |
The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. |
| SupportPlan |
The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. |
| SystemDataCreatedAt |
The timestamp of resource creation (UTC). |
| SystemDataCreatedBy |
The identity that created the resource. |
| SystemDataCreatedByType |
The type of identity that created the resource. |
| SystemDataLastModifiedAt |
The timestamp of resource last modification (UTC) |
| SystemDataLastModifiedBy |
The identity that last modified the resource. |
| SystemDataLastModifiedByType |
The type of identity that last modified the resource. |
| Tag |
Resource tags. |
| Type |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
| VerticalPodAutoscalerEnabled |
Whether to enable VPA. Default value is false. |
| WebAppRoutingDnsZoneResourceId |
Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. |
| WebAppRoutingEnabled |
Whether to enable the Application Routing add-on. |
| WindowProfileAdminPassword | |
| WindowProfileAdminUsername | |
| WindowProfileEnableCsiProxy |
Whether to enable CSI proxy. For more details on CSI proxy, see the CSI proxy GitHub repo. |
| WindowProfileLicenseType |
The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details. |
| WorkloadIdentityEnabled |
Whether to enable workload identity. |
Methods
| Name | Description |
|---|---|
| DeserializeFromDictionary(IDictionary) |
Deserializes a IDictionary into an instance of ManagedCluster. |
| DeserializeFromPSObject(PSObject) |
Deserializes a PSObject into an instance of ManagedCluster. |
| FromJson(JsonNode) |
Deserializes a JsonNode into an instance of Microsoft.Azure.PowerShell.Cmdlets.Aks.Models.IManagedCluster. |
| FromJsonString(String) |
Creates a new instance of ManagedCluster, deserializing the content from a json string. |
| ToJson(JsonObject, SerializationMode) |
Serializes this instance of ManagedCluster into a JsonNode. |
| ToJsonString() |
Serializes this instance to a json string. |
| ToString() | |
| Validate(IEventListener) |
Validates that this object meets the validation criteria. |