diff --git a/os-image/os-image-tracking-table.md b/os-image/os-image-tracking-table.md new file mode 100644 index 0000000..4ae86e3 --- /dev/null +++ b/os-image/os-image-tracking-table.md @@ -0,0 +1,11 @@ + +#### Release table for Add-server and Repair-server + +When you add a machine or repair a machine, make sure to deploy the correct version of OS image to the Azure Local machine. Use the following table to identify the correct OS image version and the download location for your Azure Local machine: + + +| To deploy this OS image on Azure Local machine... | Download OS image from this location | +|------------------|------------------| +| 10.2503.0.13 | Download 2503 image from the Azure portal. | +| 11.2504.1001.19 | Download this image from [https://aka.ms/hcireleaseimage/11.2504](https://aka.ms/hcireleaseimage/11.2504) | +| 12.2504.1001.20 | Download 2504 image from the Azure portal. | diff --git a/templates/2025_04/azurelocal_aksarc.jsonc b/templates/2025_04/azurelocal_aksarc.jsonc new file mode 100644 index 0000000..3e3144e --- /dev/null +++ b/templates/2025_04/azurelocal_aksarc.jsonc @@ -0,0 +1,243 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "provisionedClusterName": { + "type": "string", + "defaultValue": "aksarc-armcluster", + "metadata": { + "description": "The name of the AKS Arc Cluster resource." + } + }, + "location": { + "type": "string", + "defaultValue": "eastus", + "metadata": { + "description": "The location of the AKS Arc Cluster resource." + } + }, + "resourceTags": { + "type": "object", + "defaultValue": {} + }, + "sshRSAPublicKey": { + "type": "string", + "metadata": { + "description": "Configure all linux machines with the SSH RSA public key string. Your key should include three parts, for example 'ssh-rsa AAAAB...snip...UcyupgH '" + } + }, + "enableAHUB": { + "type": "string", + "defaultValue": "NotApplicable", + "metadata": { + "description": "Azure Hybrid Benefit for Windows Server licenses. NotApplicable, True, False." + } + }, + "agentName1": { + "type": "string", + "defaultValue": "nodepool1", + "metadata": { + "description": "The name of the node pool." + } + }, + "agentName2": { + "type": "string", + "defaultValue": "nodepool2", + "metadata": { + "description": "The name of the node pool." + } + }, + "agentVMSize": { + "type": "string", + "defaultValue": "Standard_A4_v2", + "metadata": { + "description": "The VM size for node pools." + } + }, + "agentMode": { + "type": "string", + "defaultValue": "System", + "metadata": { + "description": "The mode of the agentpool." + } + }, + "agentCount": { + "type": "int", + "defaultValue": 1, + "minValue": 1, + "maxValue": 50, + "metadata": { + "description": "The number of nodes for the cluster." + } + }, + "agentOsType": { + "type": "string", + "defaultValue": "Linux", + "metadata": { + "description": "The OS Type for the agent pool." + } + }, + "loadBalancerCount": { + "type": "int", + "defaultValue": 0, + "metadata": { + "description": "The number of load balancers." + } + }, + "kubernetesVersion": { + "type": "string", + "metadata": { + "description": "The version of Kubernetes." + } + }, + "controlPlaneNodeCount": { + "type": "int", + "defaultValue": 1, + "minValue": 1, + "maxValue": 5, + "metadata": { + "description": "The number of control plane nodes for the cluster." + } + }, + "controlPlaneIp": { + "type": "string", + "defaultValue": "", + "metadata": { + "description": "Control plane IP address." + } + }, + "controlPlaneVMSize": { + "type": "string", + "defaultValue": "Standard_A4_v2", + "metadata": { + "description": "The VM size for control plane." + } + }, + "vnetSubnetIds": { + "type": "array", + "metadata": { + "description": "List of network armid(s) for the AKS cluster, including csn, but not cni" + } + }, + "cniNetworkId": { + "type": "string", + "metadata": { + "description": "The armid of the CNI network." + } + }, + "podCidr": { + "type": "string", + "defaultValue": "10.244.0.0/16", + "metadata": { + "description": "The VM size for control plane." + } + }, + "networkPolicy": { + "type": "string", + "defaultValue": "calico", + "metadata": { + "description": "Network policy to use for Kubernetes pods. Only options supported is calico." + } + }, + "customLocation": { + "type": "string", + "metadata": { + "description": "Fully qualified custom location resource Id." + } + }, + "adminGroupObjectIDs": { + "defaultValue": {}, + "type": "array" + } + }, + "resources": [ + { + "apiVersion": "2024-01-01", + "type": "Microsoft.Kubernetes/ConnectedClusters", + "kind": "ProvisionedCluster", + "location": "[parameters('location')]", + "name": "[parameters('provisionedClusterName')]", + "tags": "[parameters('resourceTags')]", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "agentPublicKeyCertificate":"" , + "aadProfile": { + "enableAzureRBAC": false, + "adminGroupObjectIDs": "[parameters('adminGroupObjectIDs')]" + } + } + }, + { + "apiVersion": "2024-09-01-preview", + "type": "microsoft.hybridcontainerservice/provisionedclusterinstances", + "name": "default", + "scope": "[concat('Microsoft.Kubernetes/ConnectedClusters', '/', parameters('provisionedClusterName'))]", + "dependsOn": [ + "[resourceId('Microsoft.Kubernetes/ConnectedClusters', parameters('provisionedClusterName'))]" + ], + "properties": { + "agentPoolProfiles": [ + { + "count": "[parameters('agentCount')]", + "name":"[parameters('agentName1')]", + "osType": "[parameters('agentOsType')]", + "vmSize": "[parameters('agentVMSize')]" + }, + { + "count": "[parameters('agentCount')]", + "name":"[parameters('agentName2')]", + "osType": "[parameters('agentOsType')]", + "vmSize": "[parameters('agentVMSize')]" + } + ], + "cloudProviderProfile": { + "infraNetworkProfile": { + "vnetSubnetIds": "[parameters('vnetSubnetIds')]" + } + }, + "controlPlane": { + "count": "[parameters('controlPlaneNodeCount')]", + "controlPlaneEndpoint": { + "hostIP": "[parameters('controlPlaneIp')]" + }, + "vmSize": "[parameters('controlPlaneVMSize')]" + }, + "licenseProfile": { + "azureHybridBenefit": "[parameters('enableAHUB')]" + }, + "kubernetesVersion": "[parameters('kubernetesVersion')]", + "linuxProfile": { + "ssh": { + "publicKeys": [ + { + "keyData": "[parameters('sshRSAPublicKey')]" + } + ] + } + }, + "networkProfile": { + "loadBalancerProfile": { + "count": "[parameters('loadBalancerCount')]" + }, + "networkPolicy": "[parameters('networkPolicy')]", + "podCidr": "[parameters('podCidr')]", + "vnetSubnetId": "[parameters('cniNetworkId')]" + }, + "storageProfile": { + "nfsCsiDriver": { + "enabled": false + }, + "smbCsiDriver": { + "enabled": false + } + } + }, + "extendedLocation": { + "name": "[parameters('customLocation')]", + "type": "CustomLocation" + } + } + ] + } diff --git a/templates/2025_04/azurelocal_aksarc.parameters.jsonc b/templates/2025_04/azurelocal_aksarc.parameters.jsonc new file mode 100644 index 0000000..fd8d1da --- /dev/null +++ b/templates/2025_04/azurelocal_aksarc.parameters.jsonc @@ -0,0 +1,61 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "provisionedClusterName":{ + "value": "sample-cluster" + }, + "location": { + "value": "eastus" + }, + "sshRSAPublicKey": { + "value": "ssh-rsa AAAA...... " + }, + "agentVMSize": { + "value": "NC_G2_8_v1" + }, + "agentCount": { + "value": 2 + }, + "agentOsType": { + "value": "Linux" + }, + "agentMode": { + "value": "System" + }, + "loadBalancerCount": { + "value": 0 + }, + "kubernetesVersion": { + "value": "v1.29.7" + }, + "controlPlaneNodeCount": { + "value": 1 + }, + "controlPlaneIp": { + "value": "ipipip" + }, + "controlPlaneVMSize": { + "value": "NC_G2_8_v1" + }, + "cniNetworkId": { + "value": "" + }, + "vnetSubnetIds": { + "value": + ["" + }, + "adminGroupObjectIDs": { + "value": [ + "" + ] + }, + "resourceTags": { + "nexus": "nexus, this field here is optional and can be anything" + } + } + } + \ No newline at end of file