/cloud-provider-azure

Cloud provider for Azure

Primary LanguageGoApache License 2.0Apache-2.0

Cloud provider for Azure

Go Report Card GitHub stars GitHub stars

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

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.

License

Apache License 2.0.