The default behavior for the cray-ipxe
service is to build iPXE binaries with a well known name. However, to help
prevent untrusted access to the iPXE binaries, sites may manually customize the iPXE binary names to a site-specific
value. The site may further change the iPXE binary names periodically to further obfuscate and prevent access.
This procedure requires administrative privileges.
-
Edit the
cray-ipxe-settings
ConfigMap using one of the following options.NOTE
Save a backup of the ConfigMap before making any changes.The following is an example of creating a backup:
kubectl get configmap -n services cray-ipxe-settings \ -o yaml > /root/cray-ipxe-settings-backup.yaml
-
Within the ConfigMap, edit the following keys to set the desired iPXE binary names.
iPXE Binary ConfigMap Key Name Default Value Regular iPXE cray_ipxe_binary_name
ipxe.efi
Debug iPXE cray_ipxe_debug_binary_name
debug-ipxe.efi
NOTE
Do not change thecray_ipxe_binary_name_active
orcray_ipxe_debug_binary_name_active
keys in thecray-ipxe-settings
ConfigMap. Thecray-ipxe
builder will automatically update these keys with the name of the currently built iPXE images once they are available.-
Option 1: Edit the
cray-ipxe-settings
ConfigMap directly.kubectl edit configmap -n services cray-ipxe-settings
-
Option 2: Edit the ConfigMap by saving the file, editing it, and reloading the ConfigMap.
-
Save the file.
kubectl get configmap -n services cray-ipxe-settings \ -o yaml > /root/cray-ipxe-settings.yaml
-
Edit the
cray-ipxe-settings.yaml
file.vi /root/cray-ipxe-bss-ipxe.yaml
-
Reload the ConfigMap.
Deleting and recreating the ConfigMap will reload it.
kubectl delete configmap -n services cray-ipxe-settings kubectl create -f /root/cray-ipxe-settings.yaml
-
-
The cray-ipxe
builder will detect the configuration change and rebuild the iPXE binaries within 30 to 90 seconds. Upon
successfully building the newly named binaries, the cray-ipxe
builder will delete the old binaries from the shared file
system.