Skip to content

k8s-infra-cherrypick-robot/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.23.1
  • mcr.microsoft.com/oss/kubernetes/azure-cloud-node-manager:v1.23.1

Version matrix:

Kubernetes version cloud-provider version cloud-provider branch Notes
master N/A master
v1.23.x v1.23.1 release-1.23 The release versions will match the k8s release versions since v1.23.0.
v1.22.x v1.1.4 release-1.1
v1.21.x v1.0.8 release-1.0
v1.20.x v0.7.11 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 binary for azure-cloud-controller-manager:

make all

Build docker image for azure-cloud-controller-manager:

IMAGE_REGISTRY=<registry> make image

More detailed directions for image building, please read here.

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.7%
  • JavaScript 6.6%
  • CSS 6.0%
  • HTML 2.0%
  • Shell 1.6%
  • SCSS 1.1%
  • Other 1.0%