1.5.3.2.21. クライアントが iPXE スクリプトにアクセスできない
iPXE は、オープンソースのネットワークブートファームウェアです。詳細は、iPXE を参照してください。
ノードの起動時に、一部の DHCP サーバーの URL の長さ制限により、InfraEnv カスタムリソース定義の ipxeScript URL が切り取られ、コンソールに次のエラーメッセージが表示されます。
no bootable devices
この問題を回避するには、以下の手順を実行します。
-
自動インストールを使用して
bootArtifactsを公開する場合は、InfraEnvカスタムリソース定義を適用します。これは次のファイルのようになります。
status:
agentLabelSelector:
matchLabels:
infraenvs.agent-install.openshift.io: qe2
bootArtifacts:
initrd: https://assisted-image-service-multicluster-engine.redhat.com/images/0000/pxe-initrd?api_key=0000000&arch=x86_64&version=4.11
ipxeScript: https://assisted-service-multicluster-engine.redhat.com/api/assisted-install/v2/infra-envs/00000/downloads/files?api_key=000000000&file_name=ipxe-script
kernel: https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.12/latest/rhcos-live-kernel-x86_64
rootfs: https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.12/latest/rhcos-live-rootfs.x86_64.img
-
短い URL で
bootArtifactsを公開するプロキシーサーバーを作成します。 次のコマンドを実行し、
bootArtifactsをコピーしてプロキシーに追加します。for artifact in oc get infraenv qe2 -ojsonpath="{.status.bootArtifacts}" | jq ". | keys[]" | sed "s/\"//g" do curl -k oc get infraenv qe2 -ojsonpath="{.status.bootArtifacts.${artifact}}"` -o $artifact-
ipxeScriptアーティファクトプロキシー URL をlibvirt.xmlのbootpパラメーターに追加します。