1
+ Invoke-LiveTestScenario - Name " Test_AKS_CURD" - Description " Test AKS Cluster CRUD and node pool CRU" - ScenarioScript `
2
+ {
3
+ param ($rg )
4
+
5
+ $resourceGroupName = $rg.ResourceGroupName
6
+
7
+ # Generate random resource name if necessary
8
+ $kubeClusterName = New-LiveTestResourceName
9
+
10
+ # step 1: create a default aks cluster with default node pool
11
+ New-AzAksCluster - ResourceGroupName $resourceGroupName - Name $kubeClusterName
12
+ $cluster = Get-AzAksCluster - ResourceGroupName $resourceGroupName - Name $kubeClusterName
13
+ Assert-NotNull $cluster.Fqdn
14
+ Assert-NotNull $cluster.KubernetesVersion
15
+ Assert-NotNull $cluster.DnsPrefix
16
+ Assert-NotNull $cluster.NodeResourceGroup
17
+ Assert-AreEqual " Succeeded" $cluster.ProvisioningState
18
+ Assert-AreEqual 100 $cluster.MaxAgentPools
19
+ Assert-AreEqual $cluster.CurrentKubernetesVersion $cluster.KubernetesVersion
20
+ Assert-AreEqual " default" $cluster.AgentPoolProfiles.Name
21
+ Assert-AreEqual 1 $cluster.AgentPoolProfiles.Length
22
+ Assert-AreEqual 3 $cluster.AgentPoolProfiles [0 ].Count
23
+ Assert-NotNull $cluster.AgentPoolProfiles [0 ].NodeImageVersion
24
+
25
+ $pools = Get-AzAksNodePool - ResourceGroupName $resourceGroupName - ClusterName $kubeClusterName
26
+ Assert-NotNull $pools.VmSize
27
+ Assert-NotNull $pools.OsDiskSizeGB
28
+ Assert-NotNull $pools.OrchestratorVersion
29
+ Assert-NotNull $pools.NodeImageVersion
30
+ Assert-NotNull $pools.Id
31
+ Assert-AreEqual " Managed" $pools.OsDiskType
32
+ Assert-AreEqual " OS" $pools.KubeletDiskType
33
+ Assert-AreEqual 30 $pools.MaxPods
34
+ Assert-AreEqual " Linux" $pools.OsType
35
+ Assert-AreEqual " Ubuntu" $pools.OsSKU
36
+ Assert-AreEqual " System" $pools.Mode
37
+ Assert-AreEqual " VirtualMachineScaleSets" $pools.AgentPoolType
38
+ Assert-AreEqual $pools.CurrentOrchestratorVersion $pools.OrchestratorVersion
39
+ Assert-AreEqual " Succeeded" $pools.ProvisioningState
40
+ Assert-AreEqual " Running" $pools.PowerState.Code
41
+ Assert-AreEqual 0 $pools.Tags.Count
42
+ Assert-AreEqual 0 $pools.NodeLabels.Count
43
+ Assert-AreEqual 0 $pools.NodeTaints.Count
44
+ Assert-AreEqual " Microsoft.ContainerService/managedClusters/agentPools" $pools.Type
45
+ Assert-AreEqual 3 $pools.Count
46
+ Assert-Null $pools.VnetSubnetID
47
+ Assert-Null $pools.PodSubnetID
48
+ Assert-Null $pools.MaxCount
49
+ Assert-Null $pools.MinCount
50
+ Assert-Null $pools.EnableAutoScaling
51
+ Assert-Null $pools.UpgradeSettings
52
+ Assert-Null $pools.EnableNodePublicIP
53
+ Assert-Null $pools.ScaleSetPriority
54
+ Assert-Null $pools.ScaleSetEvictionPolicy
55
+ Assert-Null $pools.NodePublicIPPrefixID
56
+ Assert-Null $pools.SpotMaxPrice
57
+ Assert-Null $pools.ProximityPlacementGroupID
58
+ Assert-Null $pools.KubeletConfig
59
+ Assert-Null $pools.LinuxOSConfig
60
+ Assert-Null $pools.EnableEncryptionAtHost
61
+ Assert-Null $pools.EnableUltraSSD
62
+ Assert-Null $pools.GpuInstanceProfile
63
+ Assert-Null $pools.CreationData
64
+ Assert-Null $pools.HostGroupID
65
+ Assert-False {$pools.EnableFIPS }
66
+
67
+ # step 2: update the aks cluster
68
+ $cluster = $cluster | Set-AzAksCluster - NodeCount 4 - EnableUptimeSLA
69
+ Assert-AreEqual 4 $cluster.AgentPoolProfiles [0 ].Count
70
+ Assert-AreEqual " Basic" $cluster.Sku.Name
71
+ Assert-AreEqual " Paid" $cluster.Sku.Tier
72
+
73
+ # step 3: create the second node pool
74
+ $pool1Name = " default"
75
+ $pool2Name = " pool2"
76
+ New-AzAksNodePool - ResourceGroupName $resourceGroupName - ClusterName $kubeClusterName - Name $pool2Name - OsType " Windows" - OsSKU " Windows2022" - Count 1 - VmSetType VirtualMachineScaleSets
77
+ $pools = Get-AzAksNodePool - ResourceGroupName $resourceGroupName - ClusterName $kubeClusterName
78
+ Assert-AreEqual 2 $pools.Count
79
+ Assert-AreEqualArray " Linux" ($pools | where {$_.Name -eq $pool1Name }).OsType
80
+ Assert-AreEqualArray " Ubuntu" ($pools | where {$_.Name -eq $pool1Name }).OsSKU
81
+ Assert-AreEqualArray " Windows" ($pools | where {$_.Name -eq $pool2Name }).OsType
82
+ Assert-AreEqualArray " Windows2022" ($pools | where {$_.Name -eq $pool2Name }).OsSKU
83
+
84
+ # step4: update the second node pool
85
+ $labels = @ {" someId" = 127 ; " tier" = " frontend" ; " environment" = " qa" }
86
+ $tags = @ {" dept" = " MM" ; " costcenter" = 7777 ; " Admin" = " Cindy" }
87
+ Update-AzAksNodePool - ResourceGroupName $resourceGroupName - ClusterName $kubeClusterName - Name $pool2Name - NodeLabel $labels - Tag $tags
88
+ $cluster = Get-AzAksCluster - ResourceGroupName $resourceGroupName - Name $kubeClusterName
89
+ Assert-AreEqual 2 $cluster.AgentPoolProfiles.Count
90
+ Assert-AreEqual 0 ($cluster.AgentPoolProfiles | where {$_.Name -eq $pool1Name }).NodeLabels.Count
91
+ Assert-AreEqual 0 ($cluster.AgentPoolProfiles | where {$_.Name -eq $pool1Name }).Tags.Count
92
+ Assert-AreEqual 127 ($cluster.AgentPoolProfiles | where {$_.Name -eq $pool2Name }).NodeLabels.someId
93
+ Assert-AreEqual frontend ($cluster.AgentPoolProfiles | where {$_.Name -eq $pool2Name }).NodeLabels.tier
94
+ Assert-AreEqual qa ($cluster.AgentPoolProfiles | where {$_.Name -eq $pool2Name }).NodeLabels.environment
95
+ Assert-AreEqual MM ($cluster.AgentPoolProfiles | where {$_.Name -eq $pool2Name }).Tags.dept
96
+ Assert-AreEqual 7777 ($cluster.AgentPoolProfiles | where {$_.Name -eq $pool2Name }).Tags.costcenter
97
+ Assert-AreEqual Cindy ($cluster.AgentPoolProfiles | where {$_.Name -eq $pool2Name }).Tags.Admin
98
+ $pools = Get-AzAksNodePool - ResourceGroupName $resourceGroupName - ClusterName $kubeClusterName
99
+ Assert-AreEqual 2 $pools.Count
100
+ Assert-AreEqual 0 ($pools | where {$_.Name -eq $pool1Name }).NodeLabels.Count
101
+ Assert-AreEqual 0 ($pools | where {$_.Name -eq $pool1Name }).Tags.Count
102
+ Assert-AreEqual 127 ($pools | where {$_.Name -eq $pool2Name }).NodeLabels.someId
103
+ Assert-AreEqual frontend ($pools | where {$_.Name -eq $pool2Name }).NodeLabels.tier
104
+ Assert-AreEqual qa ($pools | where {$_.Name -eq $pool2Name }).NodeLabels.environment
105
+ Assert-AreEqual MM ($pools | where {$_.Name -eq $pool2Name }).Tags.dept
106
+ Assert-AreEqual 7777 ($pools | where {$_.Name -eq $pool2Name }).Tags.costcenter
107
+ Assert-AreEqual Cindy ($pools | where {$_.Name -eq $pool2Name }).Tags.Admin
108
+
109
+ $cluster | Remove-AzAksCluster - Force
110
+
111
+ }
0 commit comments