Skip to content

Commit fcd243d

Browse files
author
Naadir Jeewa
committed
flavorgen: Use local_hostname instead of FQDN for node name
K8s resources are limited to 63 characters, so to ensure nodes can join, they should not include the complete FQDN and instead be limited only to the local hostname. Furthermore, this cleans up the /etc/hosts file, and standardises with the union of Debian and RHEL family local hostnames. We also finally move wholly to systemd to set the hostname. Signed-off-by: Naadir Jeewa <[email protected]>
1 parent 48a9dac commit fcd243d

File tree

4 files changed

+43
-45
lines changed

4 files changed

+43
-45
lines changed

Diff for: packaging/flavorgen/flavors/generators.go

+4-6
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ func newIgnitionKubeadmConfigTemplate() bootstrapv1.KubeadmConfigTemplate {
403403

404404
func defaultNodeRegistrationOptions() bootstrapv1.NodeRegistrationOptions {
405405
return bootstrapv1.NodeRegistrationOptions{
406-
Name: "{{ ds.meta_data.hostname }}",
406+
Name: "{{ local_hostname }}",
407407
CRISocket: "/var/run/containerd/containerd.sock",
408408
KubeletExtraArgs: defaultExtraArgs(),
409409
}
@@ -451,11 +451,9 @@ func defaultExtraArgs() map[string]string {
451451

452452
func defaultPreKubeadmCommands() []string {
453453
return []string{
454-
"hostname \"{{ ds.meta_data.hostname }}\"",
455-
"echo \"::1 ipv6-localhost ipv6-loopback\" >/etc/hosts",
456-
"echo \"127.0.0.1 localhost\" >>/etc/hosts",
457-
"echo \"127.0.0.1 {{ ds.meta_data.hostname }}\" >>/etc/hosts",
458-
"echo \"{{ ds.meta_data.hostname }}\" >/etc/hostname",
454+
"hostnamectl set-hostname \"{{ ds.meta_data.hostname }}\"",
455+
"echo \"::1 ipv6-localhost ipv6-loopback localhost6 localhost6.localdomain6\" >/etc/hosts",
456+
"echo \"127.0.0.1 {{ ds.meta_data.hostname }} {{ local_hostname }} localhost localhost.localdomain localhost4 localhost4.localdomain4\" >>/etc/hosts",
459457
}
460458
}
461459

Diff for: templates/cluster-template-external-loadbalancer.yaml

+13-13
Original file line numberDiff line numberDiff line change
@@ -106,19 +106,19 @@ spec:
106106
criSocket: /var/run/containerd/containerd.sock
107107
kubeletExtraArgs:
108108
cloud-provider: external
109-
name: '{{ ds.meta_data.hostname }}'
109+
name: '{{ local_hostname }}'
110110
joinConfiguration:
111111
nodeRegistration:
112112
criSocket: /var/run/containerd/containerd.sock
113113
kubeletExtraArgs:
114114
cloud-provider: external
115-
name: '{{ ds.meta_data.hostname }}'
115+
name: '{{ local_hostname }}'
116116
preKubeadmCommands:
117-
- hostname "{{ ds.meta_data.hostname }}"
118-
- echo "::1 ipv6-localhost ipv6-loopback" >/etc/hosts
119-
- echo "127.0.0.1 localhost" >>/etc/hosts
120-
- echo "127.0.0.1 {{ ds.meta_data.hostname }}" >>/etc/hosts
121-
- echo "{{ ds.meta_data.hostname }}" >/etc/hostname
117+
- hostnamectl set-hostname "{{ ds.meta_data.hostname }}"
118+
- echo "::1 ipv6-localhost ipv6-loopback localhost6 localhost6.localdomain6"
119+
>/etc/hosts
120+
- echo "127.0.0.1 {{ ds.meta_data.hostname }} {{ local_hostname }} localhost
121+
localhost.localdomain localhost4 localhost4.localdomain4" >>/etc/hosts
122122
users:
123123
- name: capv
124124
sshAuthorizedKeys:
@@ -145,13 +145,13 @@ spec:
145145
criSocket: /var/run/containerd/containerd.sock
146146
kubeletExtraArgs:
147147
cloud-provider: external
148-
name: '{{ ds.meta_data.hostname }}'
148+
name: '{{ local_hostname }}'
149149
preKubeadmCommands:
150-
- hostname "{{ ds.meta_data.hostname }}"
151-
- echo "::1 ipv6-localhost ipv6-loopback" >/etc/hosts
152-
- echo "127.0.0.1 localhost" >>/etc/hosts
153-
- echo "127.0.0.1 {{ ds.meta_data.hostname }}" >>/etc/hosts
154-
- echo "{{ ds.meta_data.hostname }}" >/etc/hostname
150+
- hostnamectl set-hostname "{{ ds.meta_data.hostname }}"
151+
- echo "::1 ipv6-localhost ipv6-loopback localhost6 localhost6.localdomain6"
152+
>/etc/hosts
153+
- echo "127.0.0.1 {{ ds.meta_data.hostname }} {{ local_hostname }} localhost
154+
localhost.localdomain localhost4 localhost4.localdomain4" >>/etc/hosts
155155
users:
156156
- name: capv
157157
sshAuthorizedKeys:

Diff for: templates/cluster-template.yaml

+13-13
Original file line numberDiff line numberDiff line change
@@ -162,19 +162,19 @@ spec:
162162
criSocket: /var/run/containerd/containerd.sock
163163
kubeletExtraArgs:
164164
cloud-provider: external
165-
name: '{{ ds.meta_data.hostname }}'
165+
name: '{{ local_hostname }}'
166166
joinConfiguration:
167167
nodeRegistration:
168168
criSocket: /var/run/containerd/containerd.sock
169169
kubeletExtraArgs:
170170
cloud-provider: external
171-
name: '{{ ds.meta_data.hostname }}'
171+
name: '{{ local_hostname }}'
172172
preKubeadmCommands:
173-
- hostname "{{ ds.meta_data.hostname }}"
174-
- echo "::1 ipv6-localhost ipv6-loopback" >/etc/hosts
175-
- echo "127.0.0.1 localhost" >>/etc/hosts
176-
- echo "127.0.0.1 {{ ds.meta_data.hostname }}" >>/etc/hosts
177-
- echo "{{ ds.meta_data.hostname }}" >/etc/hostname
173+
- hostnamectl set-hostname "{{ ds.meta_data.hostname }}"
174+
- echo "::1 ipv6-localhost ipv6-loopback localhost6 localhost6.localdomain6"
175+
>/etc/hosts
176+
- echo "127.0.0.1 {{ ds.meta_data.hostname }} {{ local_hostname }} localhost
177+
localhost.localdomain localhost4 localhost4.localdomain4" >>/etc/hosts
178178
users:
179179
- name: capv
180180
sshAuthorizedKeys:
@@ -201,13 +201,13 @@ spec:
201201
criSocket: /var/run/containerd/containerd.sock
202202
kubeletExtraArgs:
203203
cloud-provider: external
204-
name: '{{ ds.meta_data.hostname }}'
204+
name: '{{ local_hostname }}'
205205
preKubeadmCommands:
206-
- hostname "{{ ds.meta_data.hostname }}"
207-
- echo "::1 ipv6-localhost ipv6-loopback" >/etc/hosts
208-
- echo "127.0.0.1 localhost" >>/etc/hosts
209-
- echo "127.0.0.1 {{ ds.meta_data.hostname }}" >>/etc/hosts
210-
- echo "{{ ds.meta_data.hostname }}" >/etc/hostname
206+
- hostnamectl set-hostname "{{ ds.meta_data.hostname }}"
207+
- echo "::1 ipv6-localhost ipv6-loopback localhost6 localhost6.localdomain6"
208+
>/etc/hosts
209+
- echo "127.0.0.1 {{ ds.meta_data.hostname }} {{ local_hostname }} localhost
210+
localhost.localdomain localhost4 localhost4.localdomain4" >>/etc/hosts
211211
users:
212212
- name: capv
213213
sshAuthorizedKeys:

Diff for: templates/clusterclass-template.yaml

+13-13
Original file line numberDiff line numberDiff line change
@@ -234,19 +234,19 @@ spec:
234234
criSocket: /var/run/containerd/containerd.sock
235235
kubeletExtraArgs:
236236
cloud-provider: external
237-
name: '{{ ds.meta_data.hostname }}'
237+
name: '{{ local_hostname }}'
238238
joinConfiguration:
239239
nodeRegistration:
240240
criSocket: /var/run/containerd/containerd.sock
241241
kubeletExtraArgs:
242242
cloud-provider: external
243-
name: '{{ ds.meta_data.hostname }}'
243+
name: '{{ local_hostname }}'
244244
preKubeadmCommands:
245-
- hostname "{{ ds.meta_data.hostname }}"
246-
- echo "::1 ipv6-localhost ipv6-loopback" >/etc/hosts
247-
- echo "127.0.0.1 localhost" >>/etc/hosts
248-
- echo "127.0.0.1 {{ ds.meta_data.hostname }}" >>/etc/hosts
249-
- echo "{{ ds.meta_data.hostname }}" >/etc/hostname
245+
- hostnamectl set-hostname "{{ ds.meta_data.hostname }}"
246+
- echo "::1 ipv6-localhost ipv6-loopback localhost6 localhost6.localdomain6"
247+
>/etc/hosts
248+
- echo "127.0.0.1 {{ ds.meta_data.hostname }} {{ local_hostname }} localhost
249+
localhost.localdomain localhost4 localhost4.localdomain4" >>/etc/hosts
250250
users:
251251
- name: capv
252252
sshAuthorizedKeys:
@@ -266,10 +266,10 @@ spec:
266266
criSocket: /var/run/containerd/containerd.sock
267267
kubeletExtraArgs:
268268
cloud-provider: external
269-
name: '{{ ds.meta_data.hostname }}'
269+
name: '{{ local_hostname }}'
270270
preKubeadmCommands:
271-
- hostname "{{ ds.meta_data.hostname }}"
272-
- echo "::1 ipv6-localhost ipv6-loopback" >/etc/hosts
273-
- echo "127.0.0.1 localhost" >>/etc/hosts
274-
- echo "127.0.0.1 {{ ds.meta_data.hostname }}" >>/etc/hosts
275-
- echo "{{ ds.meta_data.hostname }}" >/etc/hostname
271+
- hostnamectl set-hostname "{{ ds.meta_data.hostname }}"
272+
- echo "::1 ipv6-localhost ipv6-loopback localhost6 localhost6.localdomain6"
273+
>/etc/hosts
274+
- echo "127.0.0.1 {{ ds.meta_data.hostname }} {{ local_hostname }} localhost
275+
localhost.localdomain localhost4 localhost4.localdomain4" >>/etc/hosts

0 commit comments

Comments
 (0)