6.3.2. OpenShift data Foundation을 사용하도록 클러스터 로깅 구성

이 섹션의 지침에 따라 OpenShift Data Foundation을 OpenShift 클러스터 로깅의 스토리지로 구성합니다.

참고

OpenShift Data Foundation에서 처음으로 로깅을 구성할 때 모든 로그를 가져올 수 있습니다. 그러나 제거 및 로깅을 다시 설치하면 이전 로그가 제거되고 새 로그만 처리됩니다.

사전 요구 사항

  • OpenShift 웹 콘솔에 대한 관리자 액세스 권한이 있습니다.
  • OpenShift Data Foundation Operator는 openshift-storage 네임스페이스에 설치 및 실행됩니다.
  • Cluster logging Operator가 openshift-logging 네임스페이스에 설치되어 실행됩니다.

절차

  1. OpenShift 웹 콘솔의 왼쪽 창에서 Administration → Custom Resource Definitions 를 클릭합니다.
  2. 사용자 정의 리소스 정의 페이지에서 ClusterLogging 을 클릭합니다.
  3. 사용자 정의 리소스 정의 개요 페이지의 작업 메뉴에서 인스턴스 보기를 선택하거나 인스턴스 탭을 클릭합니다.
  4. 클러스터 로깅 페이지에서 클러스터 로깅 생성을 클릭합니다.

    데이터를 로드하기 위해 페이지를 새로 고쳐야 할 수도 있습니다.

  5. YAML에서 storageClassName을 provisioner openshift-storage.rbd.csi.ceph.com 을 사용하는 storageclass 로 바꿉니다. 아래 예에서 storageclass 의 이름은 ocs-storagecluster-ceph-rbd 입니다.

    apiVersion: "logging.openshift.io/v1"
    kind: "ClusterLogging"
    metadata:
      name: "instance"
      namespace: "openshift-logging"
    spec:
      managementState: "Managed"
      logStore:
        type: "elasticsearch"
        elasticsearch:
          nodeCount: 3
          storage:
            storageClassName: ocs-storagecluster-ceph-rbd
            size: 200G # Change as per your requirement
          redundancyPolicy: "SingleRedundancy"
      visualization:
        type: "kibana"
        kibana:
          replicas: 1
      curation:
        type: "curator"
        curator:
          schedule: "30 3 * * *"
      collection:
        logs:
          type: "fluentd"
          fluentd: {}

    OpenShift Data Foundation 노드에 테인트된 경우 로깅을 위해 데몬 세트 Pod 예약을 활성화하려면 허용 오차를 추가해야 합니다.

    spec:
    [...]
      collection:
        logs:
          fluentd:
            tolerations:
            - effect: NoSchedule
              key: node.ocs.openshift.io/storage
              value: 'true'
          type: fluentd
  6. 저장을 클릭합니다.

검증 단계

  1. 영구 볼륨 클레임이 elasticsearch Pod에 바인딩되었는지 확인합니다.

    1. 스토리지영구 볼륨 클레임 으로 이동합니다.
    2. 프로젝트 드롭다운을 openshift-logging 으로 설정합니다.
    3. Persistent Volume Claims가 elasticsearch-* pod에 연결된 Bound 상태로 표시되는지 확인합니다.

      그림 6.4. 클러스터 로깅 생성 및 바인딩

      elasticsearch Pod에 바인딩된 상태가 있는 영구 볼륨 클레임의 스크린샷
  2. 새 클러스터 로깅이 사용 중인지 확인합니다.

    1. 워크로드 → Pod 를 클릭합니다.
    2. 프로젝트를 openshift-logging 으로 설정합니다.
    3. elasticsearch-* Pod가 Running 상태로 표시되는지 확인합니다.
    4. elasticsearch-* Pod를 클릭하여 Pod 세부 정보를 확인합니다.
    5. 볼륨까지 아래로 스크롤하여 elasticsearch 볼륨에 새 영구 볼륨 클레임 ( 예: elasticsearch-elasticsearch-cdm-9r624biv-3) 과 일치하는 Type 이 있는지 확인합니다.
    6. 영구 볼륨 클레임 이름을 클릭하고 PersistentVolumeClaim Overview 페이지에서 스토리지 클래스 이름을 확인합니다.
참고

Elasticsearch Pod에 연결된 PV의 PV 전체 시나리오를 방지하려면 더 짧은 큐레이터 시간을 사용해야 합니다.

보존 설정에 따라 Elasticsearch 데이터를 삭제하도록 Curator를 구성할 수 있습니다. 다음 기본 인덱스 데이터 보존을 기본값으로 5일로 설정하는 것이 좋습니다.

config.yaml: |
    openshift-storage:
      delete:
        days: 5

자세한 내용은 Elasticsearch 데이터 Curation을 참조하십시오.

참고

영구 볼륨 클레임에서 지원하는 클러스터 로깅을 설치 제거하려면 각 배포 가이드의 제거 장에 있는 OpenShift Data Foundation에서 클러스터 로깅 Operator를 제거하는 절차를 사용하십시오.