-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce Azure VMSS orchestration mode VM (VMO) based Shoot clusters #217
Conversation
19e9136
to
d7bb323
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor nits from my initial "go through".
/test |
Testrun: e2e-sdh4d +---------------------+---------------------+--------+----------+ | NAME | STEP | PHASE | DURATION | +---------------------+---------------------+--------+----------+ | infrastructure-test | infrastructure-test | Failed | 12m26s | +---------------------+---------------------+--------+----------+ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dkistner , the infrastructure test needs also to be adapted. Ref https://tm.gardener.cloud/testrun/default/e2e-sdh4d
Other than that I played locally with the change and it worked well for lifecycle operations for Shoot with enabled VMO.
Awesome. Thanks @ialidzhikov for the review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, @dkistner !
Adding one last comment that I missed to add in the previous review.
Add support for Azure virtual machine scaleset orchestration mode vm (VMO) based Shoot clusters. Each worker pool will get its own VMO instead its of a shared resource like for AvailabilitySets based clusters. The Shoot cluster need to be non-zoned and have the annotation "alpha.azure.provider.extensions.gardener.cloud/vmo=true" to enable VMO which we currently treat as a preview feature. - In case the corresponding fault domain count in the CloudProfile changes then the VMO will be replaced. This will lead to a rolling update of the machines in each worker pool. - Orphan Gardener managed VMOs will be removed during the Worker reconcilation. So it is safe to be deployed into existing resource group without leaking resources. - VMO based clusters will make use of the Standard SKU Loadbalancer. - The NatGateway will be available for VMO clusters. This is a difference to AvailabilitySet based clusters which does not support NatGateway. - Accelerated network will work with VMO clusters. Other changes: - The Azure SDK is updated to support compute client in version 2020-06-30 (required to support VMO is min 2019-12-01) - VMO clusters will use the "vmss" version of the vm-controller in the Azure cloud-controller-manager (activated in the cloud-provider config via "vmType=vmss"). - A vmss client has been added to the client factory. - Added mocks for the client factory and the vmss client. - The Worker controller tests have been restructured partially to allow more reuse for the machine dependency tests. - The machineclass chart structure to configure AvailabilitySets has been alligned to the way to configure VMOs.
d7bb323
to
cf0beff
Compare
Thanks for the feedback. I have addressed it. /test |
Testrun: e2e-mw78k +---------------------+---------------------+-----------+----------+ | NAME | STEP | PHASE | DURATION | +---------------------+---------------------+-----------+----------+ | infrastructure-test | infrastructure-test | Succeeded | 36m6s | +---------------------+---------------------+-----------+----------+ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
@dkistner @kon-angelo Can this PR be merged? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm too
Let's wait a final confirmation from @dkistner.
Thanks for confirming. Yes lets go on and merge :) |
Very nice PR! I could not find the place in the MCM azure machine driver where the VM is created with a reference to the ScaleSet. Can you by any chance point me to it? Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- ``
How to categorize this PR?
/kind enhancement
/priority normal
/platform azure
What this PR does / why we need it:
Add support for Azure virtual machine scaleset orchestration mode vm (VMO) based Shoot clusters.
Each worker pool will get its own VMO instead its of a shared resource like for AvailabilitySets based clusters.
The Shoot cluster need to be non-zoned and have the annotation
alpha.azure.provider.extensions.gardener.cloud/vmo=true
to enable VMO which we currently treat as a preview feature.Details:
More details:
2020-06-30
(min2019-12-01
is required to use VMO)vmss
version of the vm-controller in the Azure cloud-controller-manager (activated in the cloud-provider config viavmType=vmss
).Which issue(s) this PR fixes:
Intend to fix #61
Release note:
Gardener is now supporting Azure clusters based on Virtual MachineScale Orchestration Mode Vm (VMO) as a preview feature. VMO should be perspectively a replacement for AvailabilitySet based clusters. You need to make sure that your subscription is eligible for VMO usage. You can find more details here: https://github.com/gardener/gardener-extension-provider-azure/blob/master/docs/usage-as-end-user.md#preview-shoot-clusters-with-vmss-orchestration-mode-vm-vmo
/invite @kon-angelo