-
Notifications
You must be signed in to change notification settings - Fork 192
Add Node IPAM support for vSphere #3899
Add Node IPAM support for vSphere #3899
Conversation
0bf51b5
to
d8410de
Compare
Cluster Generation A/B Results: |
Cluster Generation A/B Results: |
Codecov Report
@@ Coverage Diff @@
## main #3899 +/- ##
==========================================
- Coverage 47.99% 47.12% -0.87%
==========================================
Files 423 446 +23
Lines 42706 44179 +1473
==========================================
+ Hits 20496 20821 +325
- Misses 20256 21381 +1125
- Partials 1954 1977 +23
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
d8410de
to
6d41542
Compare
Cluster Generation A/B Results: |
/test install-vc7 |
6d41542
to
ebb763a
Compare
/test install-vc7 |
Cluster Generation A/B Results: |
Build failed! Build no: 3233 |
/test install-vc7 |
ebb763a
to
cd3a97b
Compare
Cluster Generation A/B Results: |
- In cluster node IPAM provider can be deployed to the MC when feature flag `features.management-cluster.deploy-in-cluster-ipam-provider` is enabled - ClusterClass must be used when deploying a WC with Node IPAM - Specifying NODE_IPAM_IP_POOL_NAME when deploying a WC will cause capv to assign IP addresses to nodes from specified IPAM pool. - .addressesFromPools can be specified in the ClusterClass network section in the variables array, which allows you to specify arbitrary IPAM providers and more than one pool Co-authored-by: Tyler Schultz <tschultz@vmware.com> Co-authored-by: Edwin Xie <exie@vmware.com> Co-authored-by: Aidan Obley <aobley@vmware.com>
cd3a97b
to
0d71f04
Compare
Rebased |
/test install-vc7 |
Cluster Generation A/B Results: |
Tests failed! Build no: 3352 |
/retest |
/test install-vc7 |
Build failed! Build no: 3370 |
Tests passed! Build no: 3371 |
CAPV version has been updated to v1.5.0 which has the IPAM controller changes, so this one should be unblocked. |
What this PR does / why we need it
This PR adds support for Node IPAM for vSphere. Node IPAM allows a user to take advantage of this upstream CAPI proposal: https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20220125-ipam-integration.md. tl;dr a user will be able to use an IPAM provider to provide control plane and worker nodes with static ips instead of using DHCP for ip address management.
The PR will add a feature flag that will deploy a default In Cluster IPAM provider to the management cluster. The InCluster IPAM provider will allocate IPs from a given subnet.
A user will need to apply an IP Pool resource to the management cluster:
When a user deploys a workload cluster using ClusterClass they can specify either:
When this is specified on the workload cluster config the machine templates will specify addressesFromPools and CAPV will claim addresses from the specified pool for the machine.
For further reading see this proposal as well: https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/blob/main/docs/proposal/20220929-ipam-support.md
Which issue(s) this PR fixes
Fixes n/a
Describe testing done for PR
Deployed a management cluster with the feature flag on.
Deployed a workload cluster with the NODE_IPAM_IP_POOL_NAME field specified and saw it use an IP address from the IP pool.
Release note
Additional information
This will require CAPV to be bumped to include the Node IPAM feature: kubernetes-sigs/cluster-api-provider-vsphere#1666
Special notes for your reviewer