6.3. CLI를 사용하여 Logging 및 Loki Operator 설치


OpenShift Container Platform 클러스터에 로깅을 설치하고 구성하려면 로그 스토리지용 Loki Operator와 같은 Operator를 먼저 설치해야 합니다. 이 작업은 OpenShift Container Platform CLI에서 수행할 수 있습니다.

사전 요구 사항

  • 관리자 권한이 있습니다.
  • OpenShift CLI(oc)를 설치합니다.
  • 지원되는 오브젝트 저장소에 액세스할 수 있습니다. 예를 들어 AWS S3, Google Cloud Storage, Azure, Swift, Minio 또는 OpenShift Data Foundation입니다.
참고

stable 채널은 최신 로깅 릴리스에 대한 업데이트만 제공합니다. 이전 릴리스에 대한 업데이트를 계속 받으려면 서브스크립션 채널을 stable-x.y 로 변경해야 합니다. 여기서 x.y 는 설치한 로깅 및 마이너 버전을 나타냅니다. 예를 들면 stable-5.7 입니다.

  1. Loki Operator의 Namespace 오브젝트를 생성합니다.

    Namespace 오브젝트의 예

    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-operators-redhat 
    1
    
      annotations:
        openshift.io/node-selector: ""
      labels:
        openshift.io/cluster-monitoring: "true" 
    2

    1
    openshift-operators-redhat 네임스페이스를 지정해야 합니다. 지표의 충돌을 방지하려면 openshift-operators 네임스페이스가 아니라 openshift-operators-redhat 네임스페이스에서 지표를 스크랩하도록 Prometheus 클러스터 모니터링 스택을 구성해야 합니다. openshift-operators 네임스페이스에 신뢰할 수 없는 Community Operator가 포함될 수 있고, 여기에서 OpenShift Container Platform 지표와 동일한 이름의 지표를 게시하면 충돌이 발생합니다.
    2
    클러스터 모니터링이 openshift-operators-redhat 네임스페이스를 스크랩하도록 하기 위해 표시된 대로 라벨을 지정하는 문자열 값입니다.
  2. 다음 명령을 실행하여 Namespace 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
  3. Loki Operator에 대한 Subscription 오브젝트를 생성합니다.

    Subscription 개체 예

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: loki-operator
      namespace: openshift-operators-redhat 
    1
    
    spec:
      channel: stable 
    2
    
      name: loki-operator
      source: redhat-operators 
    3
    
      sourceNamespace: openshift-marketplace

    1
    openshift-operators-redhat 네임스페이스를 지정해야 합니다.
    2
    stable 또는 stable -5.<y&gt;를 채널로 지정합니다.
    3
    redhat-operators를 지정합니다. OpenShift Container Platform 클러스터가 제한된 네트워크(연결이 끊긴 클러스터)에 설치된 경우 OLM(Operator Lifecycle Manager)을 구성할 때 생성된 CatalogSource 오브젝트의 이름을 지정합니다.
  4. 다음 명령을 실행하여 Subscription 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
  5. Red Hat OpenShift Logging Operator의 네임스페이스 오브젝트를 생성합니다.

    네임스페이스 오브젝트의 예

    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-logging 
    1
    
      annotations:
        openshift.io/node-selector: ""
      labels:
        openshift.io/cluster-logging: "true"
        openshift.io/cluster-monitoring: "true" 
    2

    1
    Red Hat OpenShift Logging Operator는 openshift-logging 네임스페이스에만 배포할 수 있습니다.
    2
    클러스터 모니터링이 openshift-operators-redhat 네임스페이스를 스크랩하도록 하기 위해 표시된 대로 라벨을 지정하는 문자열 값입니다.
  6. 다음 명령을 실행하여 namespace 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
  7. OperatorGroup 오브젝트 생성

    OperatorGroup 오브젝트의 예

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: cluster-logging
      namespace: openshift-logging 
    1
    
    spec:
      targetNamespaces:
      - openshift-logging

    1
    openshift-logging 네임스페이스를 지정해야 합니다.
  8. 다음 명령을 실행하여 OperatorGroup 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
  9. Subscription 오브젝트를 생성합니다.

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: cluster-logging
      namespace: openshift-logging 
    1
    
    spec:
      channel: stable 
    2
    
      name: cluster-logging
      source: redhat-operators 
    3
    
      sourceNamespace: openshift-marketplace
    1
    openshift-logging 네임스페이스를 지정해야 합니다.
    2
    stable 또는 stable -5.<y&gt;를 채널로 지정합니다.
    3
    redhat-operators를 지정합니다. OpenShift Container Platform 클러스터가 제한된 네트워크(연결이 끊긴 클러스터)에 설치된 경우 OLM(Operator Lifecycle Manager)을 구성할 때 생성된 CatalogSource 오브젝트의 이름을 지정합니다.
  10. 다음 명령을 실행하여 Subscription 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
  11. LokiStack CR을 생성합니다.

    LokiStack CR의 예

    apiVersion: loki.grafana.com/v1
    kind: LokiStack
    metadata:
      name: logging-loki 
    1
    
      namespace: openshift-logging 
    2
    
    spec:
      size: 1x.small 
    3
    
      storage:
        schemas:
        - version: v13
          effectiveDate: "<yyyy>-<mm>-<dd>"
        secret:
          name: logging-loki-s3 
    4
    
          type: s3 
    5
    
          credentialMode: 
    6
    
      storageClassName: <storage_class_name> 
    7
    
      tenants:
        mode: openshift-logging 
    8

    1
    logging-loki 라는 이름을 사용합니다.
    2
    openshift-logging 네임스페이스를 지정해야 합니다.
    3
    배포 크기를 지정합니다. 로깅 5.8 이상 버전에서 Loki의 프로덕션 인스턴스에 지원되는 크기 옵션은 1x.extra- #159 ,1x. windows 또는 1x.medium 입니다.
    4
    로그 저장소 시크릿의 이름을 지정합니다.
    5
    해당 스토리지 유형을 지정합니다.
    6
    선택적 필드, 로깅 5.9 이상 지원되는 사용자 구성 값은 다음과 같습니다. static 은 Secret에 저장된 인증 정보를 사용하여 지원되는 모든 오브젝트 스토리지 유형에 사용할 수 있는 기본 인증 모드입니다. 인증 정보 소스에서 검색된 단기 토큰에 대한 토큰입니다. 이 모드에서 정적 구성에는 오브젝트 스토리지에 필요한 인증 정보가 포함되어 있지 않습니다. 대신 서비스를 사용하여 런타임 중에 생성되므로 더 짧은 자격 증명과 훨씬 더 세분화된 제어가 가능합니다. 이 인증 모드는 모든 오브젝트 스토리지 유형에서 지원되지 않습니다. token-cco 는 Loki가 관리 STS 모드에서 실행되고 STS/WIF 클러스터에서 CCO를 사용할 때 기본값입니다.
    7
    임시 스토리지의 스토리지 클래스 이름을 지정합니다. 최상의 성능을 위해서는 블록 스토리지를 할당하는 스토리지 클래스를 지정합니다. oc get storageclasses 명령을 사용하여 클러스터에 사용 가능한 스토리지 클래스를 나열할 수 있습니다.
    8
    LokiStack은 기본적으로 다중 테넌트 모드에서 실행되며 수정할 수 없습니다. 각 로그 유형( audit, infrastructure, application logs)에 대해 하나의 테넌트가 제공됩니다. 이를 통해 개별 사용자 및 사용자 그룹에 대한 액세스 제어를 다른 로그 스트림에 사용할 수 있습니다.
  12. 다음 명령을 실행하여 LokiStack CR 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
  13. ClusterLogging CR 오브젝트를 생성합니다.

    ClusterLogging CR 오브젝트의 예

    apiVersion: logging.openshift.io/v1
    kind: ClusterLogging
    metadata:
      name: instance 
    1
    
      namespace: openshift-logging 
    2
    
    spec:
      collection:
        type: vector
      logStore:
        lokistack:
          name: logging-loki
        type: lokistack
      visualization:
        type: ocp-console
        ocpConsole:
          logsLimit: 15
      managementState: Managed

    1
    이름은 instance 여야 합니다.
    2
    네임스페이스는 openshift-logging 이어야 합니다.
  14. 다음 명령을 실행하여 ClusterLogging CR 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
  15. 다음 명령을 실행하여 설치를 확인합니다.

    $ oc get pods -n openshift-logging

    출력 예

    $ oc get pods -n openshift-logging
    NAME                                               READY   STATUS    RESTARTS   AGE
    cluster-logging-operator-fb7f7cf69-8jsbq           1/1     Running   0          98m
    collector-222js                                    2/2     Running   0          18m
    collector-g9ddv                                    2/2     Running   0          18m
    collector-hfqq8                                    2/2     Running   0          18m
    collector-sphwg                                    2/2     Running   0          18m
    collector-vv7zn                                    2/2     Running   0          18m
    collector-wk5zz                                    2/2     Running   0          18m
    logging-view-plugin-6f76fbb78f-n2n4n               1/1     Running   0          18m
    lokistack-sample-compactor-0                       1/1     Running   0          42m
    lokistack-sample-distributor-7d7688bcb9-dvcj8      1/1     Running   0          42m
    lokistack-sample-gateway-5f6c75f879-bl7k9          2/2     Running   0          42m
    lokistack-sample-gateway-5f6c75f879-xhq98          2/2     Running   0          42m
    lokistack-sample-index-gateway-0                   1/1     Running   0          42m
    lokistack-sample-ingester-0                        1/1     Running   0          42m
    lokistack-sample-querier-6b7b56bccc-2v9q4          1/1     Running   0          42m
    lokistack-sample-query-frontend-84fb57c578-gq2f7   1/1     Running   0          42m

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동