4.3. 검사 구성 및 스크립트 알림


OpenShift Container Platform에서 IP 페일오버에 대한 상태 모니터링을 사용자 지정하고 OpenShift Container Platform에서 VIP 상태가 변경될 때 알림을 수신하려면 ConfigMap 오브젝트를 사용하여 점검 및 알림 스크립트를 구성할 수 있습니다.

검사 및 알림 스크립트는 IP 페일오버 Pod 내에서 실행되며 호스트 파일 시스템이 아닌 Pod 파일 시스템을 사용합니다. /hosts 마운트 경로 아래의 Pod에서 호스트 파일 시스템을 사용할 수 있습니다. 검사 또는 알림 스크립트를 구성할 때 스크립트의 전체 경로를 제공해야 합니다.

각 IP 페일오버 Pod는 Pod가 실행 중인 노드에서 하나 이상의 가상 IP(VIP) 주소를 제어하는 Keepalived 데몬을 관리합니다. keepalived는 노드에서 각 VIP의 상태를 추적합니다. 이 상태는 master,backup 또는 fault 일 수 있습니다.

Keepalived가 시작될 때마다 로드되는 검사 및 알림 스크립트의 전체 경로 이름이 Keepalived 구성 파일인 /etc/keepalived/keepalived.conf 에 추가됩니다. 다음 섹션에 설명된 대로 ConfigMap 오브젝트를 사용하여 Pod에 스크립트를 추가합니다.

스크립트 확인

keepalived는 사용자 제공 검사 스크립트를 주기적으로 실행하여 애플리케이션 상태를 모니터링합니다. 예를 들어 스크립트는 요청을 발행하고 응답을 확인하여 웹 서버를 테스트할 수 있습니다. 검사 스크립트를 제공하지 않으면 Keepalived는 TCP 연결을 테스트하는 기본 스크립트를 실행합니다. 이 기본 테스트는 모니터 포트가 0 으로 설정된 경우 비활성화됩니다.

검사 스크립트가 0이 아닌 값을 반환하면 노드가 백업 상태가 되고 보유한 VIP가 다시 할당됩니다.

스크립트 알림

클러스터 관리자는 VIP 상태가 변경될 때마다 Keepalived 호출에 대해 선택적 알림 스크립트를 제공할 수 있습니다. keepalived는 다음 매개변수를 알림 스크립트에 전달합니다.

  • $ 1 - 그룹 또는 인스턴스
  • 2 단계 - 그룹 또는 인스턴스의 이름
  • $3 - 새 상태: master,backup 또는 fault

사전 요구 사항

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

프로세스

  1. 원하는 스크립트를 생성하고 저장할 ConfigMap 오브젝트를 생성합니다. 스크립트에는 입력 인수가 없으며 OK의 경우 0fail의 경우 1을 반환해야 합니다.

    검사 스크립트, mycheckscript.sh:

    #!/bin/bash
        # Whatever tests are needed
        # E.g., send request and verify response
    exit 0
  2. 다음 명령을 실행하여 ConfigMap 오브젝트를 생성합니다.

    $ oc create configmap mycustomcheck --from-file=mycheckscript.sh
  3. pod에 스크립트를 추가합니다. 마운트된 ConfigMap 오브젝트 파일의 defaultModeoc 명령을 사용하거나 IP 페일오버 구성을 편집하여 실행할 수 있어야 합니다.

    1. 다음 명령을 실행하여 Pod에 스크립트를 추가합니다. 0755,493 10진수 값이 일반적입니다. 예를 들면 다음과 같습니다.

      $ oc set env deploy/ipfailover-keepalived \
          OPENSHIFT_HA_CHECK_SCRIPT=/etc/keepalive/mycheckscript.sh
      $ oc set volume deploy/ipfailover-keepalived --add --overwrite \
          --name=config-volume \
          --mount-path=/etc/keepalive \
          --source='{"configMap": { "name": "mycustomcheck", "defaultMode": 493}}'
      참고

      oc set env 명령은 공백 문자를 구분합니다. = 기호 양쪽에 공백이 없어야 합니다.

    2. 또는 다음 명령을 실행하여 ipfailover-keepalived 구성을 편집합니다.

      $ oc edit deploy ipfailover-keepalived

      ipfailover-keepalived 구성 예

          spec:
            containers:
            - env:
              - name: OPENSHIFT_HA_CHECK_SCRIPT
                value: /etc/keepalive/mycheckscript.sh
      ...
              volumeMounts:
              - mountPath: /etc/keepalive
                name: config-volume
            dnsPolicy: ClusterFirst
      ...
            volumes:
            - configMap:
                defaultMode: 0755
                name: customrouter
              name: config-volume
      ...

      다음과 같습니다.

      spec.container.env.name
      마운트된 스크립트 파일을 가리키는 OPENSHIFT_HA_CHECK_SCRIPT 환경 변수를 지정합니다.
      spec.container.volumeMounts
      마운트 지점을 생성할 spec.container.volumeMounts 필드를 지정합니다.
      spec.volumes
      구성 맵을 언급할 새 spec.volumes 필드를 지정합니다.
      spec.volumes.configMap.defaultMode
      파일에 대한 실행 권한을 지정합니다. 다시 읽으면 10진수 493으로 표시됩니다.
    3. 변경 사항을 저장하고 편집기를 종료합니다. 이렇게 하면 ipfailover-keepalived 구성이 다시 시작됩니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동