3.8. bootupd를 사용하여 RHCOS 노드에서 부트로더 업데이트
bootupd를
사용하여 RHCOS 노드의 부트로더를 업데이트하려면 RHCOS 머신에서 bootupctl update
명령을 수동으로 실행하거나 systemd
단위가 있는 머신 구성을 제공해야 합니다.
Grubby
나 다른 부트로더 도구와 달리 bootupd는
커널 인수 전달과 같은 커널 공간 구성을 관리하지 않습니다. 커널 인수를 구성하려면 노드에 커널 인수 추가를 참조하세요.
bootupd를
사용하면 부트로더를 업데이트하여 BootHole 취약점으로부터 보호할 수 있습니다.
3.8.1. 부트로더 수동 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
bootupctl
명령줄 도구를 사용하면 시스템 상태를 수동으로 검사하고 부트 로더를 업데이트할 수 있습니다.
시스템 상태를 검사합니다.
bootupctl status
# bootupctl status
Copy 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 version
Copy 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 version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4 이하 버전에 처음 설치된 OpenShift Container Platform 클러스터에는 명시적인 도입 단계가 필요합니다.
시스템 상태가
Adoptable
인 경우 채택을 수행합니다.bootupctl adopt-and-update
# bootupctl adopt-and-update
Copy 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_64
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트를 사용할 수 있는 경우 다음 재부팅에 변경 사항이 적용되도록 업데이트를 적용합니다.
bootupctl update
# bootupctl update
Copy 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_64
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.8.2. 머신 구성을 통해 부트로더를 자동으로 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
bootupd
로 부트로더를 자동으로 업데이트하는 또 다른 방법은 부팅할 때마다 필요에 따라 부트로더를 업데이트하는 systemd 서비스 단위를 만드는 것입니다. 이 장치는 부팅 프로세스 중에 bootupctl update
명령을 실행하고 머신 구성을 통해 노드에 설치됩니다.
이 구성은 기본적으로 활성화되어 있지 않습니다. 업데이트 작업이 예기치 않게 중단되면 노드를 부팅할 수 없게 될 수 있기 때문입니다. 이 구성을 활성화하는 경우 부트로더 업데이트가 진행되는 동안 부팅 프로세스 중에 노드가 중단되지 않도록 주의하세요. 부트로더 업데이트 작업은 일반적으로 빠르게 완료되므로 위험은 낮습니다.
bootupctl-update.service
systemd 유닛의 내용을 포함하여 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.yaml
Copy 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.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
클러스터가 아직 실행되지 않은 경우 매니페스트 파일을 생성한 후