gardener / gardener-extension-provider-azure

Gardener extension controller for the Azure cloud provider (https://azure.microsoft.com).

Home Page:https://gardener.cloud

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add Support for Azure Stack Hub

christianhuening opened this issue · comments

How to categorize this issue?

/area control-plane
/kind enhancement
/platform azure

What would you like to be added:
I would like to get support for Azure Stack environments added to the Azure Provider.

Why is this needed:
We have a customer which requires us to use Azure Stack Hub.

In general the support is present in the upstream cloud-provider for azure: https://kubernetes-sigs.github.io/cloud-provider-azure/install/configs/#azure-stack-configuration

The required config values are still hard-coded though in the current extension: https://github.com/gardener/gardener-extension-provider-azure/blob/master/charts/internal/cloud-provider-config/templates/cloud-provider-config.tpl#L2

I am currently trying to figure out the exact work needed to be done. Any help to figure this out, would be greatly appreciated. We're either up to open a PR ourselves but maybe would also be willing to fund this feature if anybody would be willing to work on this short-term.

Hi @christianhuening,

beside general questions how to run Gardener in a private environment like Azure Stack (e.g. dns, container image registry, cert management...), there will be indeed also some Azure specific adaptions required.

You checked already that the Azure k8s cloud provider support Azure Stack. That's good, then the Azure ccm will most likely work with AzureStack and we just need to configure it properly via the extension here.

In addition I see following other tasks (not sure if the list is complete, some more detailed research would be required).

  • The Infrastructure controller / Terraform manifest need to be adopted to support the AzureStack environment.
  • Native go-sdk Azure clients used in the backupbucket, backupentry, bastion, dnsrecord and worker controllers need to be adopted to support the AzureStack environment ref.
  • The controlplane controller need to generate the adopted configuration for ccm and csi drivers to support Azure Stack, ref.
  • The machine-controller-manager-provider-azure need to be adopted to support AzureStack. Currently the Azure environment is hardcoded ref. I guess the Azure environment should be passed into the respective MachineClass resources that are generated by the worker controller ref.

That's the obvious things that come into my mind. Unfortunately we have currently no capacity to do active development in this direction, but I would be glad to answer questions if you want to pick up the task.

Thanks @dkistner ! With that analysis we'll be re-evaluating whether we will attempt this now, especially since there appears not to be too much interest by others and the question of mid-term maintenance is present. We might reside to the vSphere provider for the current project instead.