Skip to content

Commit b6a02fc

Browse files
lentzi90tormath1
andcommitted
Templates: Set provider ID directly via kubelet
This commit sets the provider ID in the flatcar templates. To avoid issues with potential mismatches between node names and openstack servers we can configure the kubelet to set the provider ID. Otherwise, the cloud controller will try to match nodes and servers based on just the name. The names can differ because of special characters, like dots. When this happens, the cloud controller will be unable to match them and thus believe that the node has no underlying server. Co-authored-by: Mathieu Tortuyaux <[email protected]>
1 parent 904381c commit b6a02fc

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

kustomize/v1alpha7/flatcar/patch-flatcar.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,13 @@ spec:
1717
joinConfiguration:
1818
nodeRegistration:
1919
name: $${COREOS_OPENSTACK_HOSTNAME}
20+
kubeletExtraArgs:
21+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_ID}
2022
initConfiguration:
2123
nodeRegistration:
2224
name: $${COREOS_OPENSTACK_HOSTNAME}
25+
kubeletExtraArgs:
26+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_ID}
2327
format: ignition
2428
ignition:
2529
containerLinuxConfig:
@@ -41,6 +45,7 @@ spec:
4145
EnvironmentFile=/run/metadata/flatcar
4246
preKubeadmCommands:
4347
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
48+
- export COREOS_OPENSTACK_INSTANCE_ID=$${COREOS_OPENSTACK_INSTANCE_ID%.*}
4449
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
4550
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
4651
---
@@ -54,8 +59,11 @@ spec:
5459
joinConfiguration:
5560
nodeRegistration:
5661
name: $${COREOS_OPENSTACK_HOSTNAME}
62+
kubeletExtraArgs:
63+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_ID}
5764
preKubeadmCommands:
5865
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
66+
- export COREOS_OPENSTACK_INSTANCE_ID=$${COREOS_OPENSTACK_INSTANCE_ID%.*}
5967
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
6068
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
6169
format: ignition

templates/cluster-template-flatcar.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,11 @@ spec:
3939
nodeRegistration:
4040
kubeletExtraArgs:
4141
cloud-provider: external
42+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_ID}
4243
name: $${COREOS_OPENSTACK_HOSTNAME}
4344
preKubeadmCommands:
4445
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
46+
- export COREOS_OPENSTACK_INSTANCE_ID=$${COREOS_OPENSTACK_INSTANCE_ID%.*}
4547
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
4648
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
4749
---
@@ -125,14 +127,17 @@ spec:
125127
nodeRegistration:
126128
kubeletExtraArgs:
127129
cloud-provider: external
130+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_ID}
128131
name: $${COREOS_OPENSTACK_HOSTNAME}
129132
joinConfiguration:
130133
nodeRegistration:
131134
kubeletExtraArgs:
132135
cloud-provider: external
136+
provider-id: openstack:///$${COREOS_OPENSTACK_INSTANCE_ID}
133137
name: $${COREOS_OPENSTACK_HOSTNAME}
134138
preKubeadmCommands:
135139
- export COREOS_OPENSTACK_HOSTNAME=$${COREOS_OPENSTACK_HOSTNAME%.*}
140+
- export COREOS_OPENSTACK_INSTANCE_ID=$${COREOS_OPENSTACK_INSTANCE_ID%.*}
136141
- envsubst < /etc/kubeadm.yml > /etc/kubeadm.yml.tmp
137142
- mv /etc/kubeadm.yml.tmp /etc/kubeadm.yml
138143
machineTemplate:

0 commit comments

Comments
 (0)