Skip to content

Commit a752d10

Browse files
committed
feat: kubelet dualstack support
Enable cloud Dual-Stack with --node-ip support since Kubernetes 1.29 release. Signed-off-by: Serge Logvinov <[email protected]>
1 parent de55986 commit a752d10

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

pkg/proxmox/instances.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,12 @@ func (i *instances) InstanceMetadata(_ context.Context, node *v1.Node) (*cloudpr
138138
}
139139
}
140140

141-
addresses := []v1.NodeAddress{{Type: v1.NodeInternalIP, Address: providedIP}}
141+
addresses := []v1.NodeAddress{}
142+
143+
for _, ip := range strings.Split(providedIP, ",") {
144+
addresses = append(addresses, v1.NodeAddress{Type: v1.NodeInternalIP, Address: ip})
145+
}
146+
142147
addresses = append(addresses, v1.NodeAddress{Type: v1.NodeHostName, Address: node.Name})
143148

144149
instanceType, err := i.getInstanceType(vmRef, region)

pkg/proxmox/instances_test.go

+31
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,37 @@ func (ts *ccmTestSuite) TestInstanceMetadata() {
416416
Zone: "pve-1",
417417
},
418418
},
419+
{
420+
msg: "NodeExistsDualstack",
421+
node: &v1.Node{
422+
ObjectMeta: metav1.ObjectMeta{
423+
Name: "cluster-1-node-1",
424+
Annotations: map[string]string{
425+
cloudproviderapi.AnnotationAlphaProvidedIPAddr: "1.2.3.4,2001::1",
426+
},
427+
},
428+
},
429+
expected: &cloudprovider.InstanceMetadata{
430+
ProviderID: "proxmox://cluster-1/100",
431+
NodeAddresses: []v1.NodeAddress{
432+
{
433+
Type: v1.NodeInternalIP,
434+
Address: "1.2.3.4",
435+
},
436+
{
437+
Type: v1.NodeInternalIP,
438+
Address: "2001::1",
439+
},
440+
{
441+
Type: v1.NodeHostName,
442+
Address: "cluster-1-node-1",
443+
},
444+
},
445+
InstanceType: "4VCPU-10GB",
446+
Region: "cluster-1",
447+
Zone: "pve-1",
448+
},
449+
},
419450
{
420451
msg: "NodeExistsCluster2",
421452
node: &v1.Node{

0 commit comments

Comments
 (0)