Skip to content

JoelSpeed/cloud-provider-azure

 
 

Cloud provider for Azure

Go Report Card Coverage Status 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 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.1.1
  • mcr.microsoft.com/oss/kubernetes/azure-cloud-node-manager:v1.1.1

Version matrix:

Kubernetes version cloud-provider version cloud-provider branch
master N/A master
v1.22.x v1.1.1 release-1.1
v1.21.x v1.0.5 release-1.0
v1.20.x v0.7.8 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

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 \
    --controllers=*,-cloud-node \
    --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 \
    --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 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.

Packages

No packages published

Languages

  • Go 81.3%
  • JavaScript 6.9%
  • CSS 6.3%
  • HTML 2.1%
  • Shell 1.4%
  • SCSS 1.1%
  • Other 0.9%