This repository provides tools and scripts for building and testing Kubernetes cloud-controller-manager
for Azure. The project is under development.
The Azure cloud provider code locates at Kubernetes repository directory. If you want to create issues or pull requests for cloud provider, please go to Kubernetes repository.
There is an ongoing work for refactoring cloud providers out of the upstream repository. For more details, please check this issue.
cloud-provider-azure is still under alpha stage 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:v0.5.0
mcr.microsoft.com/oss/kubernetes/azure-cloud-node-manager:v0.5.0
Version matrix:
Kubernetes version | cloud-provider version | cloud-provider branch |
---|---|---|
v1.18.x | v0.5.0 | master |
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 azure-cloud-controller-manager with pure make:
make
or with bazel:
make bazel-build
Build docker image for azure-cloud-controller-manager:
IMAGE_REGISTRY=<registry> make image
Run azure-cloud-controller-manager locally:
azure-cloud-controller-manager --cloud-provider=azure \
--cluster-name=kubernetes \
--cloud-config=/etc/kubernetes/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 \
--v=2
It is recommended to run azure-cloud-controller-manager as Pods on master nodes. See here for the example.
Please checkout more details at docs/cloud-controller-manager.md.
Please check the following documents for e2e tests:
- Component versioning
- 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 docs 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.