12.2. 머신 구성을 통해 부트로더 자동 업데이트
bootupd
를 사용하여 부트 로더를 자동으로 업데이트하는 또 다른 방법은 모든 부팅에 필요에 따라 부트 로더를 업데이트하는 systemd 서비스 장치를 생성하는 것입니다. 이 장치는 부팅 프로세스 중에 bootupctl update
명령을 실행하고 머신 구성을 통해 노드에 설치됩니다.
업데이트 작업이 예기치 않은 중단으로 인해 부팅 불가능한 노드가 발생할 수 있으므로 이 구성은 기본적으로 활성화되어 있지 않습니다. 이 구성을 활성화하면 부트 로더 업데이트가 진행되는 동안 부팅 프로세스 중에 노드가 중단되지 않도록 합니다. 부트 로더 업데이트 작업은 일반적으로 빠르게 완료되므로 위험이 낮습니다.
bootupctl-update.service
systemd 장치의 내용을 포함하여 Butane 구성 파일99-worker-bootupctl-update.bu
를 생성합니다.참고Butane에 대한 자세한 내용은 “Butane 을 사용하여 머신 구성 생성”을 참조하십시오.
출력 예
variant: openshift version: 4.13.0 metadata: name: 99-worker-chrony 1 labels: machineconfiguration.openshift.io/role: worker 2 systemd: units: - name: bootupctl-update.service enabled: true contents: | [Unit] Description=Bootupd automatic update [Service] ExecStart=/usr/bin/bootupctl update RemainAfterExit=yes [Install] WantedBy=multi-user.target
Butane을 사용하여 노드에 전달할 구성이 포함된
MachineConfig
파일99-worker-bootupctl-update.yaml
을 생성합니다.$ butane 99-worker-bootupctl-update.bu -o 99-worker-bootupctl-update.yaml
다음 두 가지 방법 중 하나로 설정을 적용하십시오.
-
클러스터가 아직 실행되지 않은 경우 매니페스트 파일을 생성한 후
<installation_directory>/openshift
디렉터리에MachineConfig
개체 파일을 추가한 다음 클러스터를 계속 작성합니다. 클러스터가 이미 실행중인 경우 다음과 같은 파일을 적용합니다.
$ oc apply -f ./99-worker-bootupctl-update.yaml
-
클러스터가 아직 실행되지 않은 경우 매니페스트 파일을 생성한 후