3.8. bootupd를 사용하여 RHCOS 노드에서 부트로더 업데이트
bootupd를 사용하여 RHCOS 노드의 부트로더를 업데이트하려면 RHCOS 머신에서 bootupctl update 명령을 수동으로 실행하거나 systemd 단위가 있는 머신 구성을 제공해야 합니다.
grubby 또는 기타 부트로더 툴과는 달리 bootupd는 커널 인수 전달과 같은 커널 공간 구성을 관리하지 않습니다. 커널 인수를 구성하려면 노드에 커널 인수 추가를 참조하세요.
bootupd를 사용하면 부트로더를 업데이트하여 BootHole 취약점으로부터 보호할 수 있습니다.
3.8.1. 부트로더 수동 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
bootupctl 명령줄 도구를 사용하면 시스템 상태를 수동으로 검사하고 부트 로더를 업데이트할 수 있습니다.
시스템 상태를 검사합니다.
bootupctl status
# bootupctl statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow x86_64출력 예Component EFI Installed: grub2-efi-x64-1:2.04-31.el8_4.1.x86_64,shim-x64-15-8.el8_1.x86_64 Update: At latest version
Component EFI Installed: grub2-efi-x64-1:2.04-31.el8_4.1.x86_64,shim-x64-15-8.el8_1.x86_64 Update: At latest versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow aarch64에 대한 출력 예Component EFI Installed: grub2-efi-aa64-1:2.02-99.el8_4.1.aarch64,shim-aa64-15.4-2.el8_1.aarch64 Update: At latest version
Component EFI Installed: grub2-efi-aa64-1:2.02-99.el8_4.1.aarch64,shim-aa64-15.4-2.el8_1.aarch64 Update: At latest versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4 이하 버전에 처음 설치된 OpenShift Container Platform 클러스터에는 명시적인 도입 단계가 필요합니다.
시스템 상태가
Adoptable인 경우 채택을 수행합니다.bootupctl adopt-and-update
# bootupctl adopt-and-updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Updated: grub2-efi-x64-1:2.04-31.el8_4.1.x86_64,shim-x64-15-8.el8_1.x86_64
Updated: grub2-efi-x64-1:2.04-31.el8_4.1.x86_64,shim-x64-15-8.el8_1.x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트를 사용할 수 있는 경우 다음 재부팅에 변경 사항이 적용되도록 업데이트를 적용합니다.
bootupctl update
# bootupctl updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Updated: grub2-efi-x64-1:2.04-31.el8_4.1.x86_64,shim-x64-15-8.el8_1.x86_64
Updated: grub2-efi-x64-1:2.04-31.el8_4.1.x86_64,shim-x64-15-8.el8_1.x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.8.2. 머신 구성을 통해 부트로더를 자동으로 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
bootupd 로 부트로더를 자동으로 업데이트하는 또 다른 방법은 부팅할 때마다 필요에 따라 부트로더를 업데이트하는 systemd 서비스 단위를 만드는 것입니다. 이 장치는 부팅 프로세스 중에 bootupctl update 명령을 실행하고 머신 구성을 통해 노드에 설치됩니다.
이 구성은 기본적으로 활성화되어 있지 않습니다. 업데이트 작업이 예기치 않게 중단되면 노드를 부팅할 수 없게 될 수 있기 때문입니다. 이 구성을 활성화하는 경우 부트로더 업데이트가 진행되는 동안 부팅 프로세스 중에 노드가 중단되지 않도록 주의하세요. 부트로더 업데이트 작업은 일반적으로 빠르게 완료되므로 위험은 낮습니다.
bootupctl-update.servicesystemd 유닛의 내용을 포함하여 Butane 구성 파일99-worker-bootupctl-update.bu를 만듭니다.참고구성 파일에서 지정하는 Butane 버전은 OpenShift Container Platform 버전과 일치해야 하며 항상
0으로 끝나야 합니다. 예를 들어,4.19.0입니다. Butane에 대한 자세한 내용은 “Butane 을 사용하여 머신 구성 생성”을 참조하십시오.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Butane을 사용하여 노드에 전달할 구성을 포함하는
MachineConfig개체 파일99-worker-bootupctl-update.yaml을생성합니다.butane 99-worker-bootupctl-update.bu -o 99-worker-bootupctl-update.yaml
$ butane 99-worker-bootupctl-update.bu -o 99-worker-bootupctl-update.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 두 가지 방법 중 하나로 설정을 적용하십시오.
-
클러스터가 아직 실행되지 않은 경우 매니페스트 파일을 생성한 후
<installation_directory>/openshift디렉터리에MachineConfig개체 파일을 추가한 다음 클러스터를 계속 작성합니다. 클러스터가 이미 실행중인 경우 다음과 같은 파일을 적용합니다.
oc apply -f ./99-worker-bootupctl-update.yaml
$ oc apply -f ./99-worker-bootupctl-update.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
클러스터가 아직 실행되지 않은 경우 매니페스트 파일을 생성한 후