|
6 | 6 | "authorGithub": "kubestellar", |
7 | 7 | "mission": { |
8 | 8 | "title": "Install and Configure Azure Kubernetes Service (AKS)", |
9 | | - "description": "Azure Kubernetes Service (AKS) is a managed Kubernetes service that simplifies the deployment, management, and operations of Kubernetes clusters in Azure. It is ideal for users looking to leverage Kubernetes without the overhead of managing the underlying infrastructure. Key trade-offs include reliance on Azure's infrastructure and potential costs associated with resource usage.", |
| 9 | + "description": "Azure Kubernetes Service (AKS) is a managed Kubernetes service that simplifies the deployment, management, and operations of Kubernetes clusters in Azure. It is ideal for users looking for a fully managed solution with integrated Azure services, but it may have limitations in terms of customization compared to self-managed Kubernetes distributions.", |
10 | 10 | "type": "deploy", |
11 | 11 | "status": "completed", |
12 | 12 | "estimatedMinutes": 15, |
13 | 13 | "steps": [ |
14 | 14 | { |
15 | 15 | "title": "Install Azure CLI", |
16 | | - "description": "The Azure CLI is required to interact with Azure services, including AKS.\n\n```bash\n\ncurl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash\n\n```\n\n> This command installs the Azure CLI on Debian-based systems.", |
| 16 | + "description": "The Azure CLI is required to interact with Azure services and manage your AKS cluster.\n\n```bash\n\ncurl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash\n\n```\n\n> For Debian-based systems", |
17 | 17 | "commands": [ |
18 | 18 | "curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash" |
19 | 19 | ] |
20 | 20 | }, |
21 | 21 | { |
22 | 22 | "title": "Create an AKS Cluster", |
23 | | - "description": "This command creates a new AKS cluster with the specified Kubernetes version, node count, and region.\n\n```bash\n\naz aks create --resource-group myResourceGroup --name myAKSCluster --node-count 3 --kubernetes-version 1.31 --location eastus\n\n```\n\n> Replace 'myResourceGroup' and 'myAKSCluster' with your desired names.", |
| 23 | + "description": "This command creates a new AKS cluster with the specified Kubernetes version, node count, and region.\n\n```bash\n\naz aks create --resource-group myResourceGroup --name myAKSCluster --node-count 3 --kubernetes-version 1.31.0 --location eastus\n\n```\n\n> Replace 'myResourceGroup' and 'myAKSCluster' with your desired names.", |
24 | 24 | "commands": [ |
25 | | - "az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 3 --kubernetes-version 1.31 --location eastus" |
| 25 | + "az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 3 --kubernetes-version 1.31.0 --location eastus" |
26 | 26 | ] |
27 | 27 | }, |
28 | 28 | { |
29 | | - "title": "Configure kubectl", |
30 | | - "description": "This command configures kubectl to use the new AKS cluster by updating the kubeconfig file.\n\n```bash\n\naz aks get-credentials --resource-group myResourceGroup --name myAKSCluster\n\n```\n\n> This command merges the AKS cluster credentials into your kubeconfig.", |
| 29 | + "title": "Configure kubectl Access", |
| 30 | + "description": "This command configures kubectl to use the newly created AKS cluster.\n\n```bash\n\naz aks get-credentials --resource-group myResourceGroup --name myAKSCluster\n\n```\n\n> This merges the AKS cluster credentials into your kubeconfig.", |
31 | 31 | "commands": [ |
32 | 32 | "az aks get-credentials --resource-group myResourceGroup --name myAKSCluster" |
33 | 33 | ] |
34 | 34 | }, |
35 | 35 | { |
36 | 36 | "title": "Verify Cluster Nodes", |
37 | | - "description": "This command checks the status of the nodes in the AKS cluster to ensure they are running.\n\n```bash\n\nkubectl get nodes\n\n```\n\n> You should see the nodes listed with a status of 'Ready'.", |
| 37 | + "description": "This command checks the status of the nodes in your AKS cluster to ensure they are running.\n\n```bash\n\nkubectl get nodes\n\n```\n\n> You should see the nodes listed with a status of 'Ready'.", |
38 | 38 | "commands": [ |
39 | 39 | "kubectl get nodes" |
40 | 40 | ] |
41 | 41 | }, |
42 | 42 | { |
43 | | - "title": "Post-Installation Configuration", |
44 | | - "description": "Set up monitoring and autoscaling for your AKS cluster to ensure optimal performance.\n\n```bash\n\naz aks enable-addons --resource-group myResourceGroup --name myAKSCluster --addons monitoring\n\naz aks update --resource-group myResourceGroup --name myAKSCluster --enable-cluster-autoscaler --min-count 1 --max-count 5\n\n```\n\n> This enables monitoring for the cluster.\n> This enables cluster autoscaling.", |
| 43 | + "title": "Post-Install Configuration", |
| 44 | + "description": "This step includes setting up monitoring and autoscaling for your AKS cluster.\n\n```bash\n\naz aks enable-addons --resource-group myResourceGroup --name myAKSCluster --addons monitoring\n\naz aks update --resource-group myResourceGroup --name myAKSCluster --enable-cluster-autoscaler --min-count 1 --max-count 5\n\n```\n\n> Enables monitoring with Azure Monitor.\n> Enables cluster autoscaler.", |
45 | 45 | "commands": [ |
46 | 46 | "az aks enable-addons --resource-group myResourceGroup --name myAKSCluster --addons monitoring", |
47 | 47 | "az aks update --resource-group myResourceGroup --name myAKSCluster --enable-cluster-autoscaler --min-count 1 --max-count 5" |
|
50 | 50 | ], |
51 | 51 | "uninstall": [ |
52 | 52 | { |
53 | | - "title": "Delete AKS Cluster", |
54 | | - "description": "This command deletes the AKS cluster and all associated resources. Be aware that this will result in data loss and orphaned resources such as load balancers and PVCs.\n\n```bash\n\naz aks delete --resource-group myResourceGroup --name myAKSCluster --yes --no-wait\n\n```", |
| 53 | + "title": "Delete the AKS Cluster", |
| 54 | + "description": "This command deletes the AKS cluster and all associated resources. Be aware that this will result in data loss.\n\n```bash\n\naz aks delete --resource-group myResourceGroup --name myAKSCluster --yes --no-wait\n\n```\n\n> This will remove the cluster and orphaned resources.", |
55 | 55 | "commands": [ |
56 | 56 | "az aks delete --resource-group myResourceGroup --name myAKSCluster --yes --no-wait" |
57 | 57 | ] |
58 | | - }, |
59 | | - { |
60 | | - "title": "Remove Resource Group", |
61 | | - "description": "This command deletes the entire resource group, which includes all resources created within it.\n\n```bash\n\naz group delete --name myResourceGroup --yes --no-wait\n\n```", |
62 | | - "commands": [ |
63 | | - "az group delete --name myResourceGroup --yes --no-wait" |
64 | | - ] |
65 | 58 | } |
66 | 59 | ], |
67 | 60 | "upgrade": [ |
68 | 61 | { |
69 | 62 | "title": "Upgrade AKS Cluster", |
70 | | - "description": "Before upgrading, ensure you back up your workloads and configurations. This command upgrades the AKS cluster to the specified version.\n\n```bash\n\naz aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.31\n\n```\n\n> Monitor the upgrade process for any issues.", |
71 | | - "commands": [ |
72 | | - "az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.31" |
73 | | - ] |
74 | | - }, |
75 | | - { |
76 | | - "title": "Verify Upgrade", |
77 | | - "description": "After the upgrade, verify that the nodes are running the new version.\n\n```bash\n\nkubectl get nodes\n\n```\n\n> Check that the nodes are updated to the new version.", |
| 63 | + "description": "Ensure you backup your workloads, then upgrade the AKS cluster to a new Kubernetes version.\n\n```bash\n\naz aks get-credentials --resource-group myResourceGroup --name myAKSCluster\n\naz aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.31.0\n\nkubectl get nodes\n\n```\n\n> Get the current credentials.\n> This upgrades the cluster to the specified version.\n> Verify that all nodes are updated and in 'Ready' status.", |
78 | 64 | "commands": [ |
| 65 | + "az aks get-credentials --resource-group myResourceGroup --name myAKSCluster", |
| 66 | + "az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.31.0", |
79 | 67 | "kubectl get nodes" |
80 | 68 | ] |
81 | | - }, |
82 | | - { |
83 | | - "title": "Post-Upgrade Configuration", |
84 | | - "description": "Re-enable any necessary add-ons or configurations that may have been disabled during the upgrade.\n\n```bash\n\naz aks enable-addons --resource-group myResourceGroup --name myAKSCluster --addons monitoring\n\n```\n\n> Re-enable monitoring if it was disabled.", |
85 | | - "commands": [ |
86 | | - "az aks enable-addons --resource-group myResourceGroup --name myAKSCluster --addons monitoring" |
87 | | - ] |
88 | 69 | } |
89 | 70 | ], |
90 | 71 | "troubleshooting": [ |
91 | 72 | { |
92 | | - "title": "Error: 'Failed to create the AKS cluster'", |
93 | | - "description": "**Cause:** This may occur due to insufficient permissions or quota limits in your Azure subscription.\n\n**Fix:**\nCheck your Azure subscription permissions and ensure you have enough quota for the resources being requested." |
| 73 | + "title": "Error: 'Failed to get credentials'", |
| 74 | + "description": "**Cause:** This may occur if the resource group or AKS cluster name is incorrect.\n\n**Fix:**\nDouble-check the resource group and cluster name in your command." |
94 | 75 | }, |
95 | 76 | { |
96 | | - "title": "Error: 'kubectl get nodes' returns 'No resources found'", |
97 | | - "description": "**Cause:** This indicates that the AKS cluster may not be properly configured or the nodes are not ready.\n\n**Fix:**\nRun 'az aks get-credentials' to ensure your kubeconfig is set up correctly, and check the AKS portal for node status." |
| 77 | + "title": "Error: 'Insufficient quota for requested resources'", |
| 78 | + "description": "**Cause:** This indicates that your Azure subscription does not have enough quota for the requested resources.\n\n**Fix:**\nRequest a quota increase through the Azure portal." |
98 | 79 | }, |
99 | 80 | { |
100 | | - "title": "Error: 'Insufficient CPU resources available'", |
101 | | - "description": "**Cause:** This can happen if the requested node count exceeds the available resources in the selected region.\n\n**Fix:**\nReduce the node count or choose a different region with available resources." |
| 81 | + "title": "Error: 'kubectl get nodes' returns no nodes", |
| 82 | + "description": "**Cause:** This may happen if the AKS cluster is not properly created or the credentials are not configured.\n\n**Fix:**\nRun 'az aks get-credentials' again and ensure the cluster is created successfully." |
102 | 83 | }, |
103 | 84 | { |
104 | | - "title": "Error: 'Failed to enable monitoring'", |
105 | | - "description": "**Cause:** This may occur if the Azure Monitor service is not available in your region.\n\n**Fix:**\nCheck the Azure Monitor availability in your region and try again." |
| 85 | + "title": "Error: 'Node status is NotReady'", |
| 86 | + "description": "**Cause:** This can occur due to issues with the node provisioning or network configuration.\n\n**Fix:**\nCheck the AKS cluster events and logs for more details using 'kubectl describe nodes'." |
106 | 87 | } |
107 | 88 | ], |
108 | 89 | "versionNotes": [ |
109 | 90 | { |
110 | 91 | "version": "v1.31", |
111 | | - "changes": "Added support for new Kubernetes features such as PodSecurity admission and improved API server performance.", |
112 | | - "deprecations": "Deprecated the use of legacy network policies.", |
113 | | - "migrationSteps": "If upgrading from v1.30, ensure that your network policies are updated to use the new format." |
| 92 | + "changes": "Added support for new Azure regions and improved integration with Azure Monitor.", |
| 93 | + "deprecations": "Deprecated the use of legacy monitoring solutions.", |
| 94 | + "migrationSteps": "If upgrading from 1.30, ensure to update your monitoring configurations." |
114 | 95 | } |
115 | 96 | ], |
116 | 97 | "resolution": { |
117 | | - "summary": "You should see the output of 'kubectl get nodes' displaying the nodes with a status of 'Ready'.", |
| 98 | + "summary": "You should see a list of nodes with 'Ready' status when running 'kubectl get nodes'.", |
118 | 99 | "codeSnippets": [ |
119 | 100 | "curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash", |
120 | | - "az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 3 --kubernetes-version 1.31 --location eastus", |
| 101 | + "az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 3 --kubernetes-version 1.31.0 --location eastus", |
121 | 102 | "az aks get-credentials --resource-group myResourceGroup --name myAKSCluster", |
122 | 103 | "kubectl get nodes", |
123 | 104 | "az aks enable-addons --resource-group myResourceGroup --name myAKSCluster --addons monitoring", |
|
167 | 148 | "docs": "https://learn.microsoft.com/en-us/azure/aks/", |
168 | 149 | "repo": "https://github.com/Azure/AKS" |
169 | 150 | }, |
170 | | - "qualityScore": 100 |
| 151 | + "qualityScore": 98 |
171 | 152 | }, |
172 | 153 | "prerequisites": { |
173 | 154 | "kubernetes": ">=1.25", |
|
180 | 161 | "description": "Ensure you have the Azure CLI and kubectl installed and configured." |
181 | 162 | }, |
182 | 163 | "security": { |
183 | | - "scannedAt": "2026-05-07T18:30:03.153Z", |
| 164 | + "scannedAt": "2026-05-21T18:33:49.682Z", |
184 | 165 | "scannerVersion": "platform-install-gen-2.0.0", |
185 | 166 | "sanitized": true, |
186 | 167 | "findings": [] |
|
0 commit comments