/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 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.

Current status

cloud-provider-azure is under Beta 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.7.3
  • mcr.microsoft.com/oss/kubernetes/azure-cloud-node-manager:v0.7.3

Version matrix:

Kubernetes version cloud-provider version cloud-provider branch
master N/A master
v1.20.x v0.7.3 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

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 Deploy Cloud Controller Manager.

E2E tests

Please check the following documents for e2e tests:

Documentation

See kubernetes-sigs.github.io/cloud-provider-azure 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.