6.3. OpenShift Data Foundation의 클러스터 로깅
클러스터 로깅을 배포하여 다양한 OpenShift Container Platform 서비스의 로그를 집계할 수 있습니다. 클러스터 로깅을 배포하는 방법에 대한 자세한 내용은 클러스터 로깅 배포를 참조하십시오.
초기 OpenShift Container Platform 배포 시 OpenShift Data Foundation은 기본적으로 구성되지 않으며 OpenShift Container Platform 클러스터는 노드에서 사용할 수 있는 기본 스토리지를 전적으로 사용합니다. OpenShift Data Foundation에서 지원하는 OpenShift 로깅(ElasticSearch)의 기본 구성을 편집하여 OpenShift Data Foundation 백업 로깅(Elasticsearch)을 사용할 수 있습니다.
이러한 서비스를 위한 다양한 스토리지 용량이 항상 있는지 확인합니다. 이러한 중요한 서비스의 스토리지 공간이 부족하면 로깅 애플리케이션이 작동할 수 없게 되며 복구하기가 매우 어려워집니다.
이러한 서비스를 위해 더 짧은 큐레이션 및 보존 간격을 구성하는 것이 좋습니다. 자세한 내용은 OpenShift Container Platform 설명서의 클러스터 로깅 큐레이터 를 참조하십시오.
이러한 서비스의 스토리지 공간이 부족할 경우 Red Hat 고객 지원에 문의하십시오.
6.3.1. 영구 스토리지 구성
스토리지 클래스 이름 및 크기 매개변수를 사용하여 Elasticsearch 클러스터의 영구 스토리지 클래스 및 크기를 구성할 수 있습니다. Cluster Logging Operator는 이러한 매개변수를 기반으로 Elasticsearch 클러스터의 각 데이터 노드에 대한 영구 볼륨 클레임을 생성합니다. 예를 들면 다음과 같습니다.
spec: logStore: type: "elasticsearch" elasticsearch: nodeCount: 3 storage: storageClassName: "ocs-storagecluster-ceph-rbd” size: "200G"
이 예제에서는 클러스터의 각 데이터 노드가 200GiB
의 ocs-storagecluster-ceph-rbd
스토리지를 요청하는 영구 볼륨 클레임에 바인딩되도록 지정합니다. 각 기본 분할은 단일 복제본에서 지원합니다. shard 복사본은 모든 노드에 복제되며 항상 사용 가능하며 단일 중복 정책으로 인해 두 개 이상의 노드가 있는 경우 복사본을 복구할 수 있습니다. Elasticsearch 복제 정책에 대한 자세한 내용은 클러스터 로깅 배포 및 구성 정보 에서 Elasticsearch 복제 정책을 참조하십시오.
storage 블록을 생략하면 기본 스토리지에서 지원하는 배포가 생성됩니다. 예를 들면 다음과 같습니다.
spec: logStore: type: "elasticsearch" elasticsearch: nodeCount: 3 storage: {}
자세한 내용은 클러스터 로깅 구성을 참조하십시오.
6.3.2. OpenShift data Foundation을 사용하도록 클러스터 로깅 구성
이 섹션의 지침에 따라 OpenShift 클러스터 로깅 스토리지로 OpenShift Data Foundation을 구성합니다.
OpenShift Data Foundation에서 로깅을 처음 구성할 때 모든 로그를 가져올 수 있습니다. 그러나 로깅을 제거하고 다시 설치한 후에는 이전 로그가 제거되고 새 로그만 처리됩니다.
사전 요구 사항
- OpenShift 웹 콘솔에 대한 관리자 액세스 권한이 있습니다.
-
OpenShift Data Foundation Operator가
openshift-storage
네임스페이스에 설치 및 실행됩니다. -
openshift-logging
네임스페이스에 클러스터 로깅 Operator가 설치되고 실행됩니다.
절차
-
OpenShift 웹 콘솔의 왼쪽 창에서 Administration
Custom Resource Definitions 를 클릭합니다. - 사용자 정의 리소스 정의 페이지에서 ClusterLogging 을 클릭합니다.
- 사용자 정의 리소스 정의 개요 페이지의 작업 메뉴에서 인스턴스 보기를 선택하거나 Instances 탭을 클릭합니다.
클러스터 로깅 페이지에서 클러스터 로깅 생성을 클릭합니다.
데이터를 로드하기 위해 페이지를 새로 고쳐야 할 수도 있습니다.
YAML에서 the storageClassName 을 프로비저너
openshift-storage.rbd.csi.ceph.com을
바꿉니다. 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 노드를 테인트한 경우 로깅을 위해 daemonset Pod를 예약할 수 있도록 허용 오차를 추가해야 합니다.
spec: [...] collection: logs: fluentd: tolerations: - effect: NoSchedule key: node.ocs.openshift.io/storage value: 'true' type: fluentd
- 저장을 클릭합니다.
검증 단계
영구 볼륨 클레임이
elasticsearch
포드에 바인딩되었는지 확인합니다.-
스토리지
영구 볼륨 클레임 으로 이동합니다. -
프로젝트 드롭다운을
openshift-logging
으로 설정합니다. 영구 볼륨 클레임이
elasticsearch-
* 포드에 연결된Bound
상태로 표시되는지 확인합니다.그림 6.4. 클러스터 로깅 생성 및 바인딩
-
스토리지
새 클러스터 로깅이 사용 중인지 확인합니다.
-
워크로드
포드를 클릭합니다. -
프로젝트를
openshift-logging
으로 설정합니다. -
새로운
elasticsearch-
* 포드가Running 상태로 표시되는지 확인합니다
. -
새
elasticsearch-
* pod를 클릭하여 포드 세부 정보를 확인합니다. -
Volumes(볼륨) 까지 아래로 스크롤하고 elasticsearch 볼륨에 새 영구 볼륨 클레임(예:
elasticsearch-elasticsearch-cdm-9r624biv-3)
과 일치하는 유형이 있는지 확인합니다. - 영구 볼륨 클레임 이름을 클릭하고 PersistentVolumeClaim Overview(개요) 페이지에서 스토리지 클래스 이름을 확인합니다.
-
워크로드
Elasticsearch Pod에 연결된 PV에서 PV 전체 시나리오를 방지하려면 더 짧은 큐레이터 시간을 사용해야 합니다.
보존 설정에 따라 Elasticsearch 데이터를 삭제하도록 Curator를 구성할 수 있습니다. 다음 기본 인덱스 데이터 보존을 기본값으로 5일로 설정하는 것이 좋습니다.
config.yaml: | openshift-storage: delete: days: 5
자세한 내용은 Elasticsearch 데이터 Curation을 참조하십시오.
영구 볼륨 클레임에서 지원하는 클러스터 로깅을 설치 제거하려면 해당 배포 가이드의 설치 제거 장에서 OpenShift Data Foundation에서 클러스터 로깅 운영자를 제거하는 절차를 사용하십시오.