10.2. 로그 스토리지 설치
OpenShift CLI(oc) 또는 OpenShift Container Platform 웹 콘솔을 사용하여 OpenShift Container Platform 클러스터에 로그 저장소를 배포할 수 있습니다.
로깅 5.9 릴리스에는 업데이트된 OpenShift Elasticsearch Operator 버전이 포함되어 있지 않습니다. 현재 Logging 5.8과 함께 릴리스된 OpenShift Elasticsearch Operator를 사용하는 경우 로깅 5.8의 EOL까지 로깅에서 계속 작동합니다. OpenShift Elasticsearch Operator를 사용하여 기본 로그 스토리지를 관리하는 대신 Loki Operator를 사용할 수 있습니다. 로깅 라이프사이클 날짜에 대한 자세한 내용은 Platform Agnostic Operators 를 참조하십시오.
10.2.1. Loki 로그 저장소 배포 링크 복사링크가 클립보드에 복사되었습니다!
Loki Operator를 사용하여 OpenShift Container Platform 클러스터에 내부 Loki 로그 저장소를 배포할 수 있습니다. Loki Operator를 설치한 후 보안을 생성하여 Loki 오브젝트 스토리지를 구성하고 LokiStack CR(사용자 정의 리소스)을 생성해야 합니다.
10.2.1.1. Loki 배포 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
Loki의 크기 조정은 1x.<size> 형식을 따릅니다. 여기서 1x 값은 인스턴스 수이고 < size >는 성능 기능을 지정합니다.
배포 크기에 대해 숫자 1x 를 변경할 수 없습니다.
| 1x.demo | 1x.extra-small | 1x.small | 1x.medium | |
|---|---|---|---|---|
| 데이터 전송 | 데모만 사용 | 100GB/일 | 500GB/일 | 2TB/일 |
| 초당 쿼리(QPS) | 데모만 사용 | 200ms에서 1-25 QPS | 25-50 QPS (200ms) | 25-75 QPS (200ms) |
| 복제 요인 | 없음 | 2 | 2 | 2 |
| 총 CPU 요청 | 없음 | 14개의 vCPU | 34 vCPU | 54 vCPU |
| ruler을 사용하는 경우 총 CPU 요청 | 없음 | 16개의 vCPU | 42 vCPU | 70개의 vCPU |
| 총 메모리 요청 | 없음 | 31GI | 67GI | 139Gi |
| 룰러를 사용하는 경우 총 메모리 요청 | 없음 | 35GI | 83Gi | 171Gi |
| 총 디스크 요청 | 40Gi | 430Gi | 430Gi | 590Gi |
| ruler을 사용하는 경우 총 디스크 요청 | 60Gi | 750Gi | 750Gi | 910Gi |
10.2.1.2. OpenShift Container Platform 웹 콘솔을 사용하여 Loki Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 클러스터에 로깅을 설치하고 구성하려면 추가 Operator를 설치해야 합니다. 이 작업은 웹 콘솔 내의 Operator Hub에서 수행할 수 있습니다.
OpenShift Container Platform Operator는 CR(사용자 정의 리소스)을 사용하여 애플리케이션 및 해당 구성 요소를 관리합니다. 높은 수준의 구성 및 설정은 CR 내에서 사용자가 제공합니다. Operator는 고급 지시문을 Operator 논리에 포함된 모범 사례를 기반으로 하위 수준 작업으로 변환합니다. CRD(사용자 정의 리소스 정의)는 CR을 정의하고 Operator 사용자가 사용할 수 있는 모든 구성을 나열합니다. Operator를 설치하면 CRD가 생성되는 CR을 생성하는 데 사용됩니다.
사전 요구 사항
- 지원되는 오브젝트 저장소(AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation)에 액세스할 수 있습니다.
- 관리자 권한이 있습니다.
- OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
프로세스
-
OpenShift Container Platform 웹 콘솔 관리자 화면에서 Operator
OperatorHub 로 이동합니다. 키워드로 필터링 필드에 Loki Operator를 입력합니다. 사용 가능한 Operator 목록에서 Loki Operator 를 클릭한 다음 설치를 클릭합니다.
중요Community Loki Operator는 Red Hat에서 지원하지 않습니다.
업데이트 채널로 stable 또는 stable-x.y 를 선택합니다.
참고stable 채널은 최신 로깅 릴리스에 대한 업데이트만 제공합니다. 이전 릴리스에 대한 업데이트를 계속 받으려면 서브스크립션 채널을 stable-x.y 로 변경해야 합니다. 여기서
x.y는 설치한 로깅 및 마이너 버전을 나타냅니다. 예를 들면 stable-5.7 입니다.Loki Operator는 글로벌 Operator 그룹 네임스페이스
openshift-operators-redhat에 배포되어야 하므로 설치 모드 및 설치된 네임스페이스 가 이미 선택되어 있습니다. 이 네임스페이스가 아직 없는 경우 이를 위해 생성됩니다.이 네임스페이스에서 operator-recommended 클러스터 모니터링 사용을 선택합니다.
이 옵션은
Namespace오브젝트에서openshift.io/cluster-monitoring: "true"라벨을 설정합니다. 클러스터 모니터링이openshift-operators-redhat네임스페이스를 스크랩하도록 하려면 이 옵션을 선택해야 합니다.업데이트 승인의 경우 자동 을 선택한 다음 설치를 클릭합니다.
서브스크립션의 승인 전략이 자동으로 설정된 경우 선택한 채널에서 새 Operator 버전을 사용할 수 있는 즉시 업데이트 프로세스가 시작됩니다. 승인 전략이 수동으로 설정된 경우 보류 중인 업데이트를 수동으로 승인해야 합니다.
검증
-
Operator
설치된 Operator 로 이동합니다. - openshift-logging 프로젝트가 선택되어 있는지 확인합니다.
- 상태 열에서 InstallSucceeded 가 포함된 녹색 확인 표시와 최대 날짜 텍스트가 표시되는지 확인합니다.
Operator는 설치가 완료되기 전에 실패 상태를 표시할 수 있습니다. Operator 설치가 InstallSucceeded 메시지와 함께 완료되면 페이지를 새로 고칩니다.
10.2.1.3. 웹 콘솔을 사용하여 Loki 오브젝트 스토리지의 보안 생성 링크 복사링크가 클립보드에 복사되었습니다!
Loki 오브젝트 스토리지를 구성하려면 보안을 생성해야 합니다. OpenShift Container Platform 웹 콘솔을 사용하여 시크릿을 생성할 수 있습니다.
사전 요구 사항
- 관리자 권한이 있습니다.
- OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
- Loki Operator를 설치했습니다.
프로세스
-
OpenShift Container Platform 웹 콘솔의 관리자 관점에서 워크로드
시크릿 으로 이동합니다. - 생성 드롭다운 목록에서 YAML 에서 선택합니다.
access_key_id및access_key_secret필드를 사용하여 인증 정보 및버킷 이름,끝점,지역필드를 지정하여 오브젝트 스토리지 위치를 정의하는 시크릿을 생성합니다. AWS는 다음 예제에서 사용됩니다.Secret오브젝트의 예apiVersion: v1 kind: Secret metadata: name: logging-loki-s3 namespace: openshift-logging stringData: access_key_id: AKIAIOSFODNN7EXAMPLE access_key_secret: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY bucketnames: s3-bucket-name endpoint: https://s3.eu-central-1.amazonaws.com region: eu-central-1
10.2.1.4. 웹 콘솔을 사용하여 LokiStack 사용자 정의 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 웹 콘솔을 사용하여 LokiStack CR(사용자 정의 리소스)을 생성할 수 있습니다.
사전 요구 사항
- 관리자 권한이 있습니다.
- OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
- Loki Operator를 설치했습니다.
절차
-
Operator
설치된 Operator 페이지로 이동합니다. 모든 인스턴스 탭을 클릭합니다. - Create new 드롭다운 목록에서 LokiStack 을 선택합니다.
YAML 보기를 선택한 다음 다음 템플릿을 사용하여
LokiStackCR을 생성합니다.apiVersion: loki.grafana.com/v1 kind: LokiStack metadata: name: logging-loki1 namespace: openshift-logging spec: size: 1x.small2 storage: schemas: - version: v12 effectiveDate: '2022-06-01' secret: name: logging-loki-s33 type: s34 storageClassName: <storage_class_name>5 tenants: mode: openshift-logging6 - 1
logging-loki라는 이름을 사용합니다.- 2
- 배포 크기를 지정합니다. 로깅 5.8 이상 버전에서 Loki의 프로덕션 인스턴스에 지원되는 크기 옵션은
1x.extra-#159 ,1x.windows 또는1x.medium입니다.중요배포 크기에 대해 숫자
1x를 변경할 수 없습니다. - 3
- 로그 스토리지에 사용되는 시크릿을 지정합니다.
- 4
- 해당 스토리지 유형을 지정합니다.
- 5
- 임시 스토리지의 스토리지 클래스 이름을 입력합니다. 최상의 성능을 위해서는 블록 스토리지를 할당하는 스토리지 클래스를 지정합니다.
oc get storageclasses명령을 사용하여 클러스터에 사용 가능한 스토리지 클래스를 나열할 수 있습니다. - 6
- LokiStack은 기본적으로 다중 테넌트 모드에서 실행되며 수정할 수 없습니다. 각 로그 유형( audit, infrastructure, application logs)에 대해 하나의 테넌트가 제공됩니다. 이를 통해 개별 사용자 및 사용자 그룹에 대한 액세스 제어를 다른 로그 스트림에 사용할 수 있습니다.
- 생성을 클릭합니다.
10.2.1.5. CLI를 사용하여 Loki Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 클러스터에 로깅을 설치하고 구성하려면 추가 Operator를 설치해야 합니다. 이 작업은 OpenShift Container Platform CLI에서 수행할 수 있습니다.
OpenShift Container Platform Operator는 CR(사용자 정의 리소스)을 사용하여 애플리케이션 및 해당 구성 요소를 관리합니다. 높은 수준의 구성 및 설정은 CR 내에서 사용자가 제공합니다. Operator는 고급 지시문을 Operator 논리에 포함된 모범 사례를 기반으로 하위 수준 작업으로 변환합니다. CRD(사용자 정의 리소스 정의)는 CR을 정의하고 Operator 사용자가 사용할 수 있는 모든 구성을 나열합니다. Operator를 설치하면 CRD가 생성되는 CR을 생성하는 데 사용됩니다.
사전 요구 사항
- 관리자 권한이 있습니다.
-
OpenShift CLI(
oc)를 설치합니다. - 지원되는 오브젝트 저장소에 액세스할 수 있습니다. 예를 들어 AWS S3, Google Cloud Storage, Azure, Swift, Minio 또는 OpenShift Data Foundation입니다.
절차
Subscription오브젝트를 생성합니다.apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: loki-operator namespace: openshift-operators-redhat1 spec: channel: stable2 name: loki-operator source: redhat-operators3 sourceNamespace: openshift-marketplaceSubscription오브젝트를 적용합니다.$ oc apply -f <filename>.yaml
10.2.1.6. CLI를 사용하여 Loki 오브젝트 스토리지의 보안 생성 링크 복사링크가 클립보드에 복사되었습니다!
Loki 오브젝트 스토리지를 구성하려면 보안을 생성해야 합니다. OpenShift CLI(oc)를 사용하여 이 작업을 수행할 수 있습니다.
사전 요구 사항
- 관리자 권한이 있습니다.
- Loki Operator를 설치했습니다.
-
OpenShift CLI(
oc)를 설치합니다.
절차
다음 명령을 실행하여 인증서 및 키 파일이 포함된 디렉터리에 보안을 생성합니다.
$ oc create secret generic -n openshift-logging <your_secret_name> \ --from-file=tls.key=<your_key_file> --from-file=tls.crt=<your_crt_file> --from-file=ca-bundle.crt=<your_bundle_file> --from-literal=username=<your_username> --from-literal=password=<your_password>
최상의 결과를 위해 일반 또는 불투명한 보안을 사용하십시오.
검증
다음 명령을 실행하여 보안이 생성되었는지 확인합니다.
$ oc get secrets
10.2.1.7. CLI를 사용하여 LokiStack 사용자 정의 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift CLI(oc)를 사용하여 LokiStack CR(사용자 정의 리소스)을 생성할 수 있습니다.
사전 요구 사항
- 관리자 권한이 있습니다.
- Loki Operator를 설치했습니다.
-
OpenShift CLI(
oc)를 설치합니다.
절차
LokiStackCR을 생성합니다.LokiStackCR의 예apiVersion: loki.grafana.com/v1 kind: LokiStack metadata: name: logging-loki namespace: openshift-logging spec: size: 1x.small1 storage: schemas: - version: v12 effectiveDate: "2022-06-01" secret: name: logging-loki-s32 type: s33 storageClassName: <storage_class_name>4 tenants: mode: openshift-logging5 - 1
- 배포 크기를 지정합니다. 로깅 5.8 이상 버전에서 Loki의 프로덕션 인스턴스에 지원되는 크기 옵션은
1x.extra-#159 ,1x.windows 또는1x.medium입니다.중요배포 크기에 대해 숫자
1x를 변경할 수 없습니다. - 2
- 로그 저장소 시크릿의 이름을 지정합니다.
- 3
- 로그 저장소 시크릿 유형을 지정합니다.
- 4
- 임시 스토리지의 스토리지 클래스 이름을 지정합니다. 최상의 성능을 위해서는 블록 스토리지를 할당하는 스토리지 클래스를 지정합니다.
oc get storageclasses명령을 사용하여 클러스터에 사용 가능한 스토리지 클래스를 나열할 수 있습니다. - 5
- LokiStack은 기본적으로 다중 테넌트 모드에서 실행되며 수정할 수 없습니다. 각 로그 유형( audit, infrastructure, application logs)에 대해 하나의 테넌트가 제공됩니다. 이를 통해 개별 사용자 및 사용자 그룹에 대한 액세스 제어를 다른 로그 스트림에 사용할 수 있습니다.
다음 명령을 실행하여
LokiStackCR을 적용합니다.$ oc apply -f <filename>.yaml
검증
다음 명령을 실행하고 출력을 관찰하여
openshift-logging프로젝트에 Pod를 나열하여 설치를 확인합니다.$ oc get pods -n openshift-logging다음 목록과 유사하게 로깅 구성 요소에 대한 여러 Pod가 표시되는지 확인합니다.
출력 예
NAME READY STATUS RESTARTS AGE cluster-logging-operator-78fddc697-mnl82 1/1 Running 0 14m collector-6cglq 2/2 Running 0 45s collector-8r664 2/2 Running 0 45s collector-8z7px 2/2 Running 0 45s collector-pdxl9 2/2 Running 0 45s collector-tc9dx 2/2 Running 0 45s collector-xkd76 2/2 Running 0 45s logging-loki-compactor-0 1/1 Running 0 8m2s logging-loki-distributor-b85b7d9fd-25j9g 1/1 Running 0 8m2s logging-loki-distributor-b85b7d9fd-xwjs6 1/1 Running 0 8m2s logging-loki-gateway-7bb86fd855-hjhl4 2/2 Running 0 8m2s logging-loki-gateway-7bb86fd855-qjtlb 2/2 Running 0 8m2s logging-loki-index-gateway-0 1/1 Running 0 8m2s logging-loki-index-gateway-1 1/1 Running 0 7m29s logging-loki-ingester-0 1/1 Running 0 8m2s logging-loki-ingester-1 1/1 Running 0 6m46s logging-loki-querier-f5cf9cb87-9fdjd 1/1 Running 0 8m2s logging-loki-querier-f5cf9cb87-fp9v5 1/1 Running 0 8m2s logging-loki-query-frontend-58c579fcb7-lfvbc 1/1 Running 0 8m2s logging-loki-query-frontend-58c579fcb7-tjf9k 1/1 Running 0 8m2s logging-view-plugin-79448d8df6-ckgmx 1/1 Running 0 46s