AgentBaker provides components that build VM images and provision Kubernetes nodes in Azure.
AgentBaker includes:
- A VHD builder that creates Linux and Windows node images.
- Tools and scripts that provision VMs as Kubernetes nodes.
The primary consumer of AgentBaker is Azure Kubernetes Service (AKS).
AKS uses AgentBaker to provision Linux and Windows Kubernetes nodes.
We use golangci-lint to enforce style.
Run make -C hack/tools install to install the linter.
Pull request titles must follow Conventional Commits because pull requests are squashed during merge.
The Ubuntu A10 GRID path uses aks-gpu-grid on the patched R580/vGPU 19.6
LTS branch. NCv6 RTX PRO 6000 BSE uses aks-gpu-grid-v20 on the patched
R595/vGPU 20.2 branch. Driver versions and image tags are pinned in
parts/common/components.json; Renovate is constrained to the corresponding
branch for each image.
Azure's Linux GRID support matrix lists v19.6 and v20.2 for NVadsA10_v5, but only v20.2 for NCv6 and NCasT4_v3. This does not change existing CUDA selection for compute SKUs, or the separate Azure Linux/ACL sysext installation paths. The existing NCads_A10_v4 aliases retain their A10 GRID image selection.
The Ubuntu GRID E2E scenarios require the exact configured driver version on every GPU, in addition to checking GRID licensing and service health. These checks do not establish application-specific renderer compatibility.
For ShellSpec unit test instructions, see the ShellSpec README.
The E2E suite creates VM scale sets, provisions Kubernetes nodes with AgentBaker output, and validates them against AKS clusters.
See the E2E directory.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
A cgmanifest file is a json file used to register components manually when the component type is not supported by governance. The file name is "cgmanifest.json" and you can have as many as you need and can be anywhere in your repository.
File path: ./vhdbuilder/cgmanifest.json
Reference: https://docs.opensource.microsoft.com/tools/cg/cgmanifest.html
Package:
- Calico Windows: https://docs.projectcalico.org/release-notes/