7.6.6. Machine Config Operator가 자동으로 재부팅되지 않도록 비활성화

Machine Config Operator(MCO)에서 구성을 변경한 경우 변경 사항을 적용하려면 RHCOS(Red Hat Enterprise Linux CoreOS)를 재부팅해야 합니다. 구성 변경이 자동이든 수동이든 RHCOS 노드는 일시 중지되지 않는 한 자동으로 재부팅됩니다.

참고

다음 수정 사항에서는 노드 재부팅이 트리거되지 않습니다.

  • MCO가 다음 변경 사항을 감지하면 노드를 드레이닝하거나 재부팅하지 않고 업데이트를 적용합니다.

    • 머신 구성의 spec.config.passwd.users.sshAuthorizedKeys 매개변수에서 SSH 키 변경
    • openshift-config 네임 스페이스에서 글로벌 풀 시크릿 또는 풀 시크릿 관련 변경 사항
    • Kubernetes API Server Operator의 /etc/kubernetes/kubelet-ca.crt 인증 기관(CA) 자동 교체
  • MCO가 ImageContentSourcePolicy 오브젝트 추가 또는 편집과 같은 /etc/containers/registries.conf 파일의 변경 사항을 감지하면 해당 노드를 비우고 변경 사항을 적용한 다음 노드를 분리합니다.

원치 않는 중단을 방지하기 위해 Operator에서 머신 구성을 변경한 후 자동 재부팅되지 않도록 머신 구성 풀(MCP)을 수정할 수 있습니다.

참고

MCP를 일시 중지하면 MCO가 연결된 노드에 구성 변경 사항을 적용하지 못합니다. MCP를 일시 중지하면 자동으로 순환된 인증서가 kube-apiserver-to-kubelet-signer CA 인증서의 자동 순환을 포함하여 관련 노드로 푸시되지 않습니다. kube-apiserver-to-kubelet-signer CA 인증서가 만료되고 MCO가 자동으로 인증서를 갱신하려고 하면 새 인증서가 생성되지만 일시 중지된 MCP의 노드에 적용되지 않습니다. 이로 인해 oc debug, oc logs, oc exec, oc attach를 포함하여 여러 oc 명령이 실패합니다. MCP 일시 중지는 kube-apiserver-to-kubelet-signer CA 인증서 만료에 대해 신중하게 고려하여 단기간 동안만 수행해야 합니다.

새 CA 인증서는 설치 날짜로부터 292일 후에 생성되며 해당 날짜로부터 365일 후에 제거됩니다. 다음 자동 CA 인증서 교체를 확인하려면 Red Hat OpenShift 4의 Understand CA 인증서 자동 갱신을 참조하십시오.

7.6.6.1. 콘솔을 사용하여 Machine Config Operator가 자동으로 재부팅되지 않도록 비활성화

MCO(Machine Config Operator)에서 원하지 않는 변경을 방지하기 위해 OpenShift Container Platform 웹 콘솔을 사용하여 MCO가 해당 풀의 노드를 변경하지 않도록 MCP(머신 구성 풀)를 수정할 수 있습니다. 이렇게 하면 일반적으로 MCO 업데이트 프로세스의 일부인 재부팅을 방지할 수 있습니다.

참고

MCP를 일시 중지하면 MCO가 연결된 노드에 구성 변경 사항을 적용하지 못합니다. MCP를 일시 중지하면 자동으로 순환된 인증서가 kube-apiserver-to-kubelet-signer CA 인증서의 자동 순환을 포함하여 관련 노드로 푸시되지 않습니다. kube-apiserver-to-kubelet-signer CA 인증서가 만료되고 MCO가 자동으로 인증서를 갱신하려고 하면 새 인증서가 생성되지만 일시 중지된 MCP의 노드에 적용되지 않습니다. 이로 인해 oc debug, oc logs, oc exec, oc attach를 포함하여 여러 oc 명령이 실패합니다. MCP 일시 중지는 kube-apiserver-to-kubelet-signer CA 인증서 만료에 대해 신중하게 고려하여 단기간 동안만 수행해야 합니다.

새 CA 인증서는 설치 날짜로부터 292일 후에 생성되며 해당 날짜로부터 365일 후에 제거됩니다. 다음 자동 CA 인증서 교체를 확인하려면 Red Hat OpenShift 4의 Understand CA 인증서 자동 갱신을 참조하십시오.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.

절차

자동 MCO 업데이트 재부팅을 일시 중지하거나 일시 중지 해제하려면 다음을 수행합니다.

  • 자동 재부팅 프로세스를 일시 중지합니다.

    1. cluster-admin 역할의 사용자로 OpenShift Container Platform 웹 콘솔에 로그인합니다.
    2. ComputeMachineConfigPools를 클릭합니다.
    3. MachineConfigPools 페이지에서 재부팅을 일시 중지할 노드에 따라 마스터 또는 작업자 를 클릭합니다.
    4. 마스터 또는 작업자 페이지에서 YAML을 클릭합니다.
    5. YAML에서 spec.paused 필드를 true로 업데이트합니다.

      샘플 MachineConfigPool 오브젝트

      apiVersion: machineconfiguration.openshift.io/v1
      kind: MachineConfigPool
       ...
      spec:
       ...
        paused: true 1

      1
      spec.paused 필드를 true로 업데이트하여 재부팅을 일시 중지합니다.
    6. MCP가 일시 중지되었는지 확인하려면 MachineConfigPools 페이지로 돌아갑니다.

      MachineConfigPools 페이지에서 Paused 열은 수정한 MCP에 대한 True 를 보고합니다.

      일시 중지된 동안 MCP에 보류 중인 변경 사항이 있는 경우 Updated 열은 False이고 Updating 열은 False입니다. UpdatedTrue이고 UpdatingFalse인 경우 보류 중인 변경 사항이 없습니다.

      중요

      UpdatedUpdating 열이 모두 False인 보류 중인 변경 사항이 있는 경우 최대한 빨리 재부팅할 수 있도록 유지 관리 기간을 예약하는 것이 좋습니다. 자동 재부팅 프로세스를 일시 중지 해제하려면 다음 단계를 사용하여 마지막 재부팅 이후 대기열에 있는 변경 사항을 적용합니다.

  • 자동 재부팅 프로세스의 일시 중지를 해제합니다.

    1. cluster-admin 역할의 사용자로 OpenShift Container Platform 웹 콘솔에 로그인합니다.
    2. ComputeMachineConfigPools를 클릭합니다.
    3. MachineConfigPools 페이지에서 재부팅을 일시 중지할 노드에 따라 마스터 또는 작업자 를 클릭합니다.
    4. 마스터 또는 작업자 페이지에서 YAML을 클릭합니다.
    5. YAML에서 spec.paused 필드를 false로 업데이트합니다.

      샘플 MachineConfigPool 오브젝트

      apiVersion: machineconfiguration.openshift.io/v1
      kind: MachineConfigPool
       ...
      spec:
       ...
        paused: false 1

      1
      재부팅을 허용하도록 spec.paused 필드를 false로 업데이트합니다.
      참고

      MCP의 일시 정지를 해제하면 MCO는 모든 일시 중지된 변경 사항이 필요에 따라 RHCOS(Red Hat Enterprise Linux CoreOS) 재부팅을 적용합니다.

    6. MCP가 일시 중지되었는지 확인하려면 MachineConfigPools 페이지로 돌아갑니다.

      MachineConfigPools 페이지에서 Paused 열은 수정한 MCP에 대한 False 를 보고합니다.

      MCP가 보류 중인 변경 사항을 적용하는 경우 Updated 열은 False이고 Updating인 열은 True입니다. 업데이트됨True이고 업데이트 중False인 경우 추가 변경 사항이 적용되지 않습니다.