Skip to content

Commit 554c981

Browse files
committed
azure: Use IMDS instead of node labels for azuredisk-csi zone info
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
1 parent 947150c commit 554c981

5 files changed

Lines changed: 8 additions & 7 deletions

File tree

nodeup/pkg/model/cloudconfig.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ type CloudConfigBuilder struct {
6363
var _ fi.NodeupModelBuilder = &CloudConfigBuilder{}
6464

6565
func (b *CloudConfigBuilder) Build(c *fi.NodeupModelBuilderContext) error {
66-
if !b.HasAPIServer && b.NodeupConfig.KubeletConfig.CloudProvider == "external" {
66+
// Azure worker nodes need azure.json for the azuredisk-csi-driver to query
67+
// zone information from IMDS, so we always write it regardless of role.
68+
if !b.HasAPIServer && b.NodeupConfig.KubeletConfig.CloudProvider == "external" && b.CloudProvider() != kops.CloudProviderAzure {
6769
return nil
6870
}
6971

tests/integration/update_cluster/minimal_azure/data/azurerm_storage_blob_minimal-azure.example.com-addons-azuredisk-csi-driver.addons.k8s.io-k8s-1.31_source

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ spec:
642642
- --user-agent-suffix=kops
643643
- --allow-empty-cloud-config=true
644644
- --support-zone=true
645-
- --get-node-info-from-labels=true
645+
- --get-node-info-from-labels=false
646646
- --get-nodeid-from-imds=false
647647
- --enable-otel-tracing=false
648648
- --metrics-address=0.0.0.0:29605

tests/integration/update_cluster/minimal_azure/data/azurerm_storage_blob_minimal-azure.example.com-addons-bootstrap_source

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ spec:
8585
version: 9.99.0
8686
- id: k8s-1.31
8787
manifest: azuredisk-csi-driver.addons.k8s.io/k8s-1.31.yaml
88-
manifestHash: da0ccb52e5db231adbe24c372b9e2e87ea02f9559e80e09b6dbcbc094371220f
88+
manifestHash: 83b05a6f607c03094725ec171a8c7b2f073eaafa6830dfcf0b29ad90b728b17b
8989
name: azuredisk-csi-driver.addons.k8s.io
9090
prune:
9191
kinds:

upup/models/cloudup/resources/addons/azuredisk-csi-driver.addons.k8s.io/helm-values.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
# --version 1.34.0 --namespace kube-system -f helm-values.yaml > k8s-1.31.yaml.template
77
#
88
# Note: No kops-specific patches are needed. The driver finds the cloud config
9-
# at /etc/kubernetes/azure.json (its default path) on control-plane nodes.
10-
# Node pods use --get-node-info-from-labels and --allow-empty-cloud-config=true.
9+
# at /etc/kubernetes/azure.json (its default path) on all nodes.
10+
# Node pods query IMDS for zone info via the cloud config (UseInstanceMetadata: true).
1111
#
1212
# Note: StorageClass is managed separately via storage-azure.addons.k8s.io
1313

@@ -22,7 +22,6 @@ controller:
2222
linux:
2323
enabled: true
2424
hostNetwork: true
25-
getNodeInfoFromLabels: true
2625

2726
node:
2827
cloudConfigSecretName: ""

upup/models/cloudup/resources/addons/azuredisk-csi-driver.addons.k8s.io/k8s-1.31.yaml.template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ spec:
414414
- "--user-agent-suffix=kops"
415415
- "--allow-empty-cloud-config=true"
416416
- "--support-zone=true"
417-
- "--get-node-info-from-labels=true"
417+
- "--get-node-info-from-labels=false"
418418
- "--get-nodeid-from-imds=false"
419419
- "--enable-otel-tracing=false"
420420
- "--metrics-address=0.0.0.0:29605"

0 commit comments

Comments
 (0)