Cloud provider for Azure
Introduction
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.
Current status
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
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
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.
E2E tests
Please check the following documents for e2e tests:
Documentation
- 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.
Contributing
Please see CONTRIBUTING.md for instructions on how to contribute.
Code of conduct
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.