3.2. Loki Operator 설치


Loki Operator 버전 5.7+ 는 Network Observabilty에서 지원되는 Loki Operator 버전입니다. 이러한 버전은 openshift-network 테넌트 구성 모드를 사용하여 LokiStack 인스턴스를 생성하고 네트워크 Observability에 대해 완전 자동 인증 및 권한 부여 지원을 제공하는 기능을 제공합니다. Loki를 설치하는 방법은 여러 가지가 있습니다. 한 가지 방법은 OpenShift Container Platform 웹 콘솔 Operator Hub를 사용하는 것입니다.

사전 요구 사항

  • 지원되는 Log Store (AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation)
  • OpenShift Container Platform 4.10+
  • Linux Kernel 4.18+

프로세스

  1. OpenShift Container Platform 웹 콘솔에서 Operator OperatorHub를 클릭합니다.
  2. 사용 가능한 Operator 목록에서 Loki Operator 를 선택하고 설치를 클릭합니다.
  3. 설치 모드에서 클러스터의 모든 네임스페이스를 선택합니다.

검증

  1. Loki Operator를 설치했는지 확인합니다. Operator 설치된 Operator 페이지를 방문하여 Loki Operator 를 찾습니다.
  2. Loki Operator 가 모든 프로젝트에 Succeeded 로 나열되어 있는지 확인합니다.
중요

Loki를 설치 제거하려면 Loki를 설치하는 데 사용한 방법과 일치하는 제거 프로세스를 참조하십시오. 나머지 ClusterRolesClusterRoleBindings, 오브젝트 저장소에 저장된 데이터 및 제거해야 하는 영구 볼륨이 있을 수 있습니다.

3.2.1. Loki 스토리지의 시크릿 생성

Loki Operator는 AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation과 같은 몇 가지 로그 스토리지 옵션을 지원합니다. 다음 예제에서는 AWS S3 스토리지에 대한 보안을 생성하는 방법을 보여줍니다. 이 예에서 loki-s3 에서 생성된 보안은 " LokiStack 리소스 생성"에서 참조됩니다. 웹 콘솔 또는 CLI에서 이 시크릿을 생성할 수 있습니다.

  1. 웹 콘솔을 사용하여 프로젝트 모든 프로젝트 드롭다운으로 이동하여 프로젝트 생성 을 선택합니다. 프로젝트 이름을 netobserv 로 지정하고 생성 을 클릭합니다.
  2. 오른쪽 상단에 있는 가져오기 아이콘 + 로 이동합니다. YAML 파일을 편집기에 붙여넣습니다.

    다음은 S3 스토리지에 대한 시크릿 YAML 파일의 예입니다.

    apiVersion: v1
    kind: Secret
    metadata:
      name: loki-s3
      namespace: netobserv   1
    stringData:
      access_key_id: QUtJQUlPU0ZPRE5ON0VYQU1QTEUK
      access_key_secret: d0phbHJYVXRuRkVNSS9LN01ERU5HL2JQeFJmaUNZRVhBTVBMRUtFWQo=
      bucketnames: s3-bucket-name
      endpoint: https://s3.eu-central-1.amazonaws.com
      region: eu-central-1
    1
    이 설명서의 설치 예제에서는 모든 구성 요소에서 동일한 네임스페이스 netobserv 를 사용합니다. 선택적으로 다른 구성 요소에 다른 네임스페이스를 사용할 수 있습니다.

검증

  • 시크릿을 생성하면 웹 콘솔에 워크로드 시크릿 아래에 표시되어야 합니다.

3.2.2. LokiStack 사용자 정의 리소스 생성

웹 콘솔 또는 CLI를 사용하여 LokiStack을 배포하여 네임스페이스 또는 새 프로젝트를 생성할 수 있습니다.

프로세스

  1. Operator 설치된 Operator 로 이동하여 프로젝트 드롭다운에서 모든 프로젝트를 확인합니다.
  2. Loki Operator 를 찾습니다. 세부 정보에서 제공된 API에서 LokiStack 을 선택합니다.
  3. LokiStack 생성을 클릭합니다.
  4. 다음 필드가 양식 보기 또는 YAML 보기에 지정되었는지 확인합니다.

    apiVersion: loki.grafana.com/v1
    kind: LokiStack
    metadata:
      name: loki
      namespace: netobserv   1
    spec:
      size: 1x.small
      storage:
        schemas:
        - version: v12
          effectiveDate: '2022-06-01'
        secret:
          name: loki-s3
          type: s3
      storageClassName: gp3  2
      tenants:
        mode: openshift-network
    1
    이 설명서의 설치 예제에서는 모든 구성 요소에서 동일한 네임스페이스 netobserv 를 사용합니다. 선택적으로 다른 네임스페이스를 사용할 수 있습니다.
    2
    ReadWriteOnce 액세스 모드에서 클러스터에서 사용할 수 있는 스토리지 클래스 이름을 사용합니다. oc get storageclasses 를 사용하여 클러스터에서 사용 가능한 항목을 확인할 수 있습니다.
    중요

    클러스터 로깅에 사용되는 동일한 LokiStack 을 재사용해서는 안 됩니다.

  5. 생성을 클릭합니다.

3.2.3. cluster-admin 사용자 역할의 새 그룹 생성

중요

cluster-admin 사용자로 여러 네임스페이스에 대한 애플리케이션 로그를 쿼리합니다. 여기서 클러스터의 모든 네임스페이스 합계는 5120보다 큰 오류입니다: 입력 크기가 너무 긴 (XXXX > 5120) 오류가 발생했습니다. LokiStack의 로그에 대한 액세스를 보다 효과적으로 제어하려면 cluster-admin 사용자를 cluster-admin 그룹의 멤버로 설정합니다. cluster-admin 그룹이 없는 경우 해당 그룹을 생성하고 원하는 사용자를 추가합니다.

다음 절차에 따라 cluster-admin 권한이 있는 사용자를 위한 새 그룹을 생성합니다.

프로세스

  1. 다음 명령을 입력하여 새 그룹을 생성합니다.

    $ oc adm groups new cluster-admin
  2. 다음 명령을 입력하여 원하는 사용자를 cluster-admin 그룹에 추가합니다.

    $ oc adm groups add-users cluster-admin <username>
  3. 다음 명령을 입력하여 cluster-admin 사용자 역할을 그룹에 추가합니다.

    $ oc adm policy add-cluster-role-to-group cluster-admin cluster-admin

3.2.4. 사용자 정의 관리자 그룹 액세스

광범위한 권한이 필요한 사용자가 많은 대규모 배포가 있는 경우 adminGroup 필드를 사용하여 사용자 지정 그룹을 생성할 수 있습니다. LokiStack CR의 adminGroups 필드에 지정된 그룹의 멤버인 사용자는 관리자로 간주됩니다. admin 사용자는 cluster-logging-application-view 역할도 할당한 경우 모든 네임스페이스의 모든 애플리케이션 로그에 액세스할 수 있습니다.

LokiStack CR의 예

apiVersion: loki.grafana.com/v1
kind: LokiStack
metadata:
  name: logging-loki
  namespace: openshift-logging
spec:
  tenants:
    mode: openshift-network 1
    openshift:
      adminGroups: 2
      - cluster-admin
      - custom-admin-group 3

1
사용자 지정 관리 그룹은 이 모드에서만 사용할 수 있습니다.
2
이 필드에 빈 목록 [] 값을 입력하면 관리자 그룹이 비활성화됩니다.
3
기본 그룹 덮어쓰기(system:cluster-admins,cluster-admin,dedicated-admin)

3.2.5. Loki 배포 크기 조정

Loki의 크기 조정은 < N>x.<size > 형식을 따릅니다. 여기서 < N > 값은 인스턴스 수이고 < size >는 성능 기능을 지정합니다.

표 3.2. Loki 크기 조정
 1x.demo1x.extra-windows1x.small1x.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

총 메모리 요청

없음

31Gi

67Gi

139Gi

총 디스크 요청

40Gi

430Gi

430Gi

590Gi

3.2.6. LokiStack 수집 제한 및 상태 경고

LokiStack 인스턴스는 구성된 크기에 따라 기본 설정과 함께 제공됩니다. 수집 및 쿼리 제한과 같은 일부 설정을 재정의할 수 있습니다. Loki 오류가 콘솔 플러그인에 표시되는 경우 또는 flowlogs-pipeline 로그에 업데이트할 수 있습니다. 웹 콘솔의 자동 경고는 이러한 제한에 도달할 때 이를 알려줍니다.

다음은 구성된 제한의 예입니다.

spec:
  limits:
    global:
      ingestion:
        ingestionBurstSize: 40
        ingestionRate: 20
        maxGlobalStreamsPerTenant: 25000
      queries:
        maxChunksPerQuery: 2000000
        maxEntriesLimitPerQuery: 10000
        maxQuerySeries: 3000

이러한 설정에 대한 자세한 내용은 LokiStack API 참조를 참조하십시오.

3.2.7. 네트워크 Observability에서 멀티 테넌시 활성화

Network Observability Operator의 멀티 테넌시를 사용하면 개별 사용자 액세스 또는 그룹 액세스를 Loki에 저장된 흐름에 대해 허용하고 제한할 수 있습니다. 프로젝트 관리자에 대한 액세스 권한이 활성화됩니다. 일부 네임스페이스에 대한 액세스 권한이 제한된 프로젝트 관리자는 해당 네임스페이스의 흐름에만 액세스할 수 있습니다.

사전 요구 사항

  • Loki Operator 버전 5.7이상이 설치되어 있어야 합니다.
  • 프로젝트 관리자로 로그인해야 합니다.

프로세스

  1. 다음 명령을 실행하여 user1 에 읽기 권한을 부여합니다.

    $ oc adm policy add-cluster-role-to-user netobserv-reader user1

    이제 데이터는 허용된 사용자 네임스페이스로 제한됩니다. 예를 들어 단일 네임스페이스에 액세스할 수 있는 사용자는 이 네임스페이스 내부 및 이 네임스페이스로 이동하는 모든 흐름을 볼 수 있습니다. 프로젝트 관리자는 OpenShift Container Platform 콘솔의 관리자 화면에 액세스하여 네트워크 흐름 트래픽 페이지에 액세스할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.