This repository provides Azure implementation of Kubernetes cloud provider interface. The in-tree cloud provider has been deprecated since v1.20 and only the bug fixes were allowed in the Kubernetes repository directory.
cloud-provider-azure
has been GA since v1.0.0 and its releases are maintained on Microsoft Container Registry (MCR).
The latest version of azure-cloud-controller-manager and azure-cloud-node-manager could be found at
mcr.microsoft.com/oss/kubernetes/azure-cloud-controller-manager:v1.23.5
mcr.microsoft.com/oss/kubernetes/azure-cloud-node-manager:v1.23.5
Version matrix:
Kubernetes version | cloud-provider version | cloud-provider branch | Notes |
---|---|---|---|
master | N/A | master | |
v1.23.x | v1.23.5 | release-1.23 | The release versions will match the k8s release versions since v1.23.0. |
v1.22.x | v1.1.8 | release-1.1 | |
v1.21.x | v1.0.12 | release-1.0 | |
v1.20.x | v0.7.15 | release-0.7 | |
v1.19.x | v0.6.0 | release-0.6 | |
v1.18.x | v0.5.1 | release-0.5 | |
v1.17.x | v0.4.1 | N/A | |
v1.16.x | v0.3.0 | N/A | |
v1.15.x | v0.2.0 | N/A |
Build binary for azure-cloud-controller-manager:
make all
Build docker image for azure-cloud-controller-manager:
IMAGE_REGISTRY=<registry> make image
More detailed directions for image building, please read here.
Run azure-cloud-controller-manager locally:
azure-cloud-controller-manager \
--cloud-provider=azure \
--cluster-name=kubernetes \
--controllers=*,-cloud-node \
--cloud-config=/etc/kubernetes/cloud-config/azure.json \
--kubeconfig=/etc/kubernetes/kubeconfig \
--allocate-node-cidrs=true \
--configure-cloud-routes=true \
--cluster-cidr=10.240.0.0/16 \
--route-reconciliation-period=10s \
--leader-elect=true \
--port=10267 \
--v=2
Run azure-cloud-node-manager locally:
azure-cloud-node-manager \
--node-name=$(hostname) \
--wait-routes=true
It is recommended to run azure-cloud-controller-manager as Deployment with multiple replicas or Kubelet static Pods on each master Node. See here for the example.
Please checkout more details at Deploy Cloud Controller Manager.
Please check the following documents for e2e tests:
- Dependency management
- Cloud provider config
- Azure load balancer and annotations
- Azure permissions
- Azure availability zones
- Cross resource group nodes
- AzureDisk known issues
- AzureFile known issues
See kubernetes-sigs.github.io/cloud-provider-azure for more documentations.
Please see CONTRIBUTING.md for instructions on how to contribute.
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.