3.2. Self Node Remediation Operator를 사용하도록 머신 상태 점검 구성

다음 절차에 따라 Self Node Remediation Operator를 수정 공급자로 사용하도록 작업자 또는 control-plane 머신 상태 점검을 구성합니다.

사전 요구 사항

  • OpenShift CLI(oc)를 설치합니다.
  • cluster-admin 권한이 있는 사용자로 로그인합니다.

절차

  1. SelfNodeRemediationTemplate CR을 생성합니다.

    1. SelfNodeRemediationTemplate CR을 정의합니다.

      apiVersion: self-node-remediation.medik8s.io/v1alpha1
      kind: SelfNodeRemediationTemplate
      metadata:
        namespace: openshift-machine-api
        name: selfnoderemediationtemplate-sample
      spec:
        template:
          spec:
            remediationStrategy: ResourceDeletion 1
      1
      수정 전략을 지정합니다. 기본 전략은 ResourceDeletion 입니다.
    2. SelfNodeRemediationTemplate CR을 생성하려면 다음 명령을 실행합니다.

      $ oc create -f <snrt-name>.yaml
  2. SelfNodeRemediationTemplate CR을 가리키도록 MachineHealthCheck CR을 생성하거나 업데이트합니다.

    1. MachineHealthCheck CR을 정의하거나 업데이트합니다.

      apiVersion: machine.openshift.io/v1beta1
      kind: MachineHealthCheck
      metadata:
        name: machine-health-check
        namespace: openshift-machine-api
      spec:
        selector:
          matchLabels: 1
            machine.openshift.io/cluster-api-machine-role: "worker"
            machine.openshift.io/cluster-api-machine-type: "worker"
        unhealthyConditions:
        - type:    "Ready"
          timeout: "300s"
          status: "False"
        - type:    "Ready"
          timeout: "300s"
          status: "Unknown"
        maxUnhealthy: "40%"
        nodeStartupTimeout: "10m"
        remediationTemplate: 2
          kind: SelfNodeRemediationTemplate
          apiVersion: self-node-remediation.medik8s.io/v1alpha1
          name: selfnoderemediationtemplate-sample
      1
      머신 상태 점검에서 작업자 또는 컨트롤 플레인 노드를 위한지 여부를 선택합니다. 레이블은 사용자 정의일 수도 있습니다.
      2
      수정 템플릿에 대한 세부 정보를 지정합니다.
    2. MachineHealthCheck CR을 생성하려면 다음 명령을 실행합니다.

      $ oc create -f <mhc-name>.yaml
    3. MachineHealthCheck CR을 업데이트하려면 다음 명령을 실행합니다.

      $ oc apply -f <mhc-name>.yaml