3.3. 로깅 설치


OpenShift Container Platform Operator는 CR(사용자 정의 리소스)을 사용하여 애플리케이션 및 해당 구성 요소를 관리합니다. CR을 통해 높은 수준의 구성 및 설정을 제공합니다. Operator는 Operator의 논리에 포함된 모범 사례를 기반으로 고급 지시문을 하위 수준 작업으로 변환합니다. CRD(사용자 정의 리소스 정의)는 CR을 정의하고 Operator 사용자가 사용할 수 있는 모든 구성을 나열합니다. Operator를 설치하면 CRD가 생성되어 CR을 생성합니다.

로깅을 시작하려면 다음 Operator를 설치해야 합니다.

  • 로그 저장소를 관리하는 Loki Operator입니다.
  • Red Hat OpenShift Logging Operator를 사용하여 로그 수집 및 전달을 관리합니다.
  • 시각화를 관리하기 위한 COO(Cluster Observability Operator)입니다.

OpenShift Container Platform 웹 콘솔 또는 OpenShift Container Platform CLI를 사용하여 로깅을 설치하거나 구성할 수 있습니다.

중요

Loki Operator 후 Red Hat OpenShift Logging Operator를 구성해야 합니다.

3.3.1. CLI를 사용하여 설치

다음 섹션에서는 CLI를 사용하여 Loki Operator 및 Red Hat OpenShift Logging Operator를 설치하는 방법을 설명합니다.

3.3.1.1. CLI를 사용하여 Loki Operator 설치

OpenShift Container Platform 클러스터에 Loki Operator를 설치하여 OpenShift Container Platform CLI(명령줄 인터페이스)를 사용하여 로그 저장소 Loki 를 관리합니다. Loki Operator와 함께 resource Loki Stack을 조정하여 Loki 로그 저장소를 배포하고 구성할 수 있습니다.

사전 요구 사항

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

프로세스

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

    Namespace 오브젝트의 예

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

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

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

    OperatorGroup 오브젝트의 예

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: loki-operator
      namespace: openshift-operators-redhat 1
    spec:
      upgradeStrategy: Default

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

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

    Subscription 개체 예

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: loki-operator
      namespace: openshift-operators-redhat 1
    spec:
      channel: stable-6.<y> 2
      installPlanApproval: Automatic 3
      name: loki-operator
      source: redhat-operators 4
      sourceNamespace: openshift-marketplace

    1
    openshift-operators-redhat 을 네임스페이스로 지정해야 합니다.
    2
    stable-6.<y&gt;를 채널로 지정합니다.
    3
    서브스크립션의 승인 전략이 자동으로 설정된 경우 선택한 채널에서 새 Operator 버전을 사용할 수 있는 즉시 업데이트 프로세스가 시작됩니다. 승인 전략이 Manual 로 설정된 경우 보류 중인 업데이트를 수동으로 승인해야 합니다.
    4
    redhat-operators 를 값으로 지정합니다. OpenShift Container Platform 클러스터가 제한된 네트워크(연결이 끊긴 클러스터)에 설치된 경우 OLM(Operator Lifecycle Manager)을 구성할 때 생성된 CatalogSource 오브젝트의 이름을 지정합니다.
  6. 다음 명령을 실행하여 Subscription 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
  7. LokiStack을 배포하기 위한 네임스페이스 오브젝트를 생성합니다.

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

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

    1
    openshift-logging 네임스페이스는 모든 로깅 워크로드에 전용됩니다.
    2
    클러스터 모니터링이 openshift-logging 네임스페이스를 스크랩하도록 하려면 표시된 대로 레이블을 지정하는 문자열 값입니다.
  8. 다음 명령을 실행하여 namespace 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
  9. 인증 정보를 사용하여 보안을 생성하여 오브젝트 스토리지에 액세스합니다. 예를 들어, 시크릿을 생성하여 AWS(Amazon Web Services) s3에 액세스합니다.

    Secret 오브젝트의 예

    apiVersion: v1
    kind: Secret
    metadata:
      name: logging-loki-s3 1
      namespace: openshift-logging
    stringData: 2
      access_key_id: <access_key_id>
      access_key_secret: <access_secret>
      bucketnames: s3-bucket-name
      endpoint: https://s3.eu-central-1.amazonaws.com
      region: eu-central-1

    1
    LokiStack에서 사용되는 이름과 일치하도록 logging-loki-s3 이름을 사용합니다.
    2
    보안 콘텐츠에 대한 자세한 내용은 Loki 오브젝트 스토리지 섹션을 참조하십시오.
    중요

    s3 버킷 또는 LokiStack 사용자 정의 리소스(CR)에 정의된 보존 기간이 없으면 로그가 정리되지 않고 s3 스토리지를 채울 수 있습니다.

  10. 다음 명령을 실행하여 Secret 오브젝트를 적용합니다.

    $ 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>" 4
        secret:
          name: logging-loki-s3 5
          type: s3 6
      storageClassName: <storage_class_name> 7
      tenants:
        mode: openshift-logging 8

    1
    logging-loki 라는 이름을 사용합니다.
    2
    openshift-logging 을 네임스페이스로 지정해야 합니다.
    3
    배포 크기를 지정합니다. Loki의 프로덕션 인스턴스에 지원되는 크기 옵션은 1x.extra- windows ,1x. windows 또는 1x.medium 입니다. 또한 1x.pico 는 로깅 6.1부터 지원됩니다.
    4
    새 설치의 경우 이 날짜는 스키마가 적용되는 시점의 날짜가 되므로 "기타일"과 동일하게 설정해야 합니다.
    5
    로그 저장소 시크릿의 이름을 지정합니다.
    6
    해당 스토리지 유형을 지정합니다.
    7
    임시 스토리지의 스토리지 클래스 이름을 지정합니다. 최상의 성능을 위해서는 블록 스토리지를 할당하는 스토리지 클래스를 지정합니다. oc get storageclasses 명령을 사용하여 클러스터에 사용 가능한 스토리지 클래스를 나열할 수 있습니다.
    8
    openshift-logging 모드는 감사, 인프라 및 애플리케이션과 같은 로그 유형에 대해 테넌트가 생성되는 기본 테넌시 모드입니다. 이를 통해 개별 사용자 및 사용자 그룹에 대한 액세스 제어를 다른 로그 스트림에 사용할 수 있습니다.
  12. 다음 명령을 실행하여 LokiStack CR 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml

검증

  • 다음 명령을 실행하여 설치를 확인합니다.

    $ oc get pods -n openshift-logging

    출력 예

    $ oc get pods -n openshift-logging
    NAME                                               READY   STATUS    RESTARTS   AGE
    logging-loki-compactor-0                           1/1     Running   0          42m
    logging-loki-distributor-7d7688bcb9-dvcj8          1/1     Running   0          42m
    logging-loki-gateway-5f6c75f879-bl7k9              2/2     Running   0          42m
    logging-loki-gateway-5f6c75f879-xhq98              2/2     Running   0          42m
    logging-loki-index-gateway-0                       1/1     Running   0          42m
    logging-loki-ingester-0                            1/1     Running   0          42m
    logging-loki-querier-6b7b56bccc-2v9q4              1/1     Running   0          42m
    logging-loki-query-frontend-84fb57c578-gq2f7       1/1     Running   0          42m

3.3.1.2. CLI를 사용하여 Red Hat OpenShift Logging Operator 설치

OpenShift Container Platform 클러스터에 Red Hat OpenShift Logging Operator를 설치하여 OpenShift CLI(oc)를 사용하여 로그를 수집하고 로그 저장소로 전달합니다.

사전 요구 사항

  • 관리자 권한이 있습니다.
  • OpenShift CLI(oc)를 설치합니다.
  • Loki Operator를 설치 및 구성했습니다.
  • openshift-logging 네임스페이스를 생성했습니다.

프로세스

  1. OperatorGroup 오브젝트를 생성합니다.

    OperatorGroup 오브젝트의 예

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

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

    $ oc apply -f <filename>.yaml
  3. Red Hat OpenShift Logging Operator에 대한 서브스크립션 오브젝트를 생성합니다.

    Subscription 개체 예

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: cluster-logging
      namespace: openshift-logging 1
    spec:
      channel: stable-6.<y> 2
      installPlanApproval: Automatic 3
      name: cluster-logging
      source: redhat-operators 4
      sourceNamespace: openshift-marketplace

    1
    openshift-logging 을 네임스페이스로 지정해야 합니다.
    2
    stable-6.<y&gt;를 채널로 지정합니다.
    3
    서브스크립션의 승인 전략이 자동으로 설정된 경우 선택한 채널에서 새 Operator 버전을 사용할 수 있는 즉시 업데이트 프로세스가 시작됩니다. 승인 전략이 Manual 로 설정된 경우 보류 중인 업데이트를 수동으로 승인해야 합니다.
    4
    redhat-operators 를 값으로 지정합니다. OpenShift Container Platform 클러스터가 제한된 네트워크(연결이 끊긴 클러스터)에 설치된 경우 OLM(Operator Lifecycle Manager)을 구성할 때 생성된 CatalogSource 오브젝트의 이름을 지정합니다.
  4. 다음 명령을 실행하여 Subscription 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
  5. 로그 수집기에서 사용할 서비스 계정을 생성합니다.

    $ oc create sa logging-collector -n openshift-logging
  6. 수집기가 로그를 수집하고 전달할 수 있도록 서비스 계정에 필요한 권한을 할당합니다. 이 예에서 수집기는 인프라 및 애플리케이션 로그 모두에서 로그를 수집할 수 있는 권한이 제공됩니다.

    $ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z logging-collector -n openshift-logging
    $ oc adm policy add-cluster-role-to-user collect-application-logs -z logging-collector -n openshift-logging
    $ oc adm policy add-cluster-role-to-user collect-infrastructure-logs -z logging-collector -n openshift-logging
  7. ClusterLogForwarder CR을 생성합니다.

    ClusterLogForwarder CR의 예

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: instance
      namespace: openshift-logging 1
    spec:
      serviceAccount:
        name: logging-collector 2
      outputs:
      - name: lokistack-out
        type: lokiStack 3
        lokiStack:
          target: 4
            name: logging-loki
            namespace: openshift-logging
          authentication:
            token:
              from: serviceAccount
        tls:
          ca:
            key: service-ca.crt
            configMapName: openshift-service-ca.crt
      pipelines:
      - name: infra-app-logs
        inputRefs: 5
        - application
        - infrastructure
        outputRefs:
        - lokistack-out

    1
    openshift-logging 네임스페이스를 지정해야 합니다.
    2
    이전에 생성한 서비스 계정의 이름을 지정합니다.
    3
    lokiStack 출력 유형을 선택하여 LokiStack 인스턴스에 로그를 보냅니다.
    4
    ClusterLogForwarder 에서 이전에 생성한 LokiStack 인스턴스를 가리킵니다.
    5
    LokiStack 인스턴스에 보낼 로그 출력 유형을 선택합니다.
  8. 다음 명령을 실행하여 ClusterLogForwarder CR 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml

검증

  1. 다음 명령을 실행하여 설치를 확인합니다.

    $ 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
    instance-222js                                     2/2     Running   0          18m
    instance-g9ddv                                     2/2     Running   0          18m
    instance-hfqq8                                     2/2     Running   0          18m
    instance-sphwg                                     2/2     Running   0          18m
    instance-vv7zn                                     2/2     Running   0          18m
    instance-wk5zz                                     2/2     Running   0          18m
    logging-loki-compactor-0                           1/1     Running   0          42m
    logging-loki-distributor-7d7688bcb9-dvcj8          1/1     Running   0          42m
    logging-loki-gateway-5f6c75f879-bl7k9              2/2     Running   0          42m
    logging-loki-gateway-5f6c75f879-xhq98              2/2     Running   0          42m
    logging-loki-index-gateway-0                       1/1     Running   0          42m
    logging-loki-ingester-0                            1/1     Running   0          42m
    logging-loki-querier-6b7b56bccc-2v9q4              1/1     Running   0          42m
    logging-loki-query-frontend-84fb57c578-gq2f7       1/1     Running   0          42m

3.3.2. 웹 콘솔을 사용하여 설치

다음 섹션에서는 웹 콘솔을 사용하여 Loki Operator 및 Red Hat OpenShift Logging Operator를 설치하는 방법을 설명합니다.

3.3.2.1. 웹 콘솔을 사용하여 로깅 설치

OpenShift Container Platform 웹 콘솔을 사용하여 OperatorHub에서 로그 저장소 Loki 를 관리하려면 OpenShift Container Platform 클러스터에 Loki를 설치합니다. Loki Operator와 함께 resource Loki Stack을 조정하여 Loki 로그 저장소를 배포하고 구성할 수 있습니다.

사전 요구 사항

  • 관리자 권한이 있습니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
  • 지원되는 오브젝트 저장소(AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation)에 액세스할 수 있습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔 관리자 화면에서 Operator OperatorHub 로 이동합니다.
  2. 키워드로 필터링 필드에 Loki Operator를 입력합니다. 사용 가능한 Operator 목록에서 Loki Operator 를 클릭한 다음 설치를 클릭합니다.

    중요

    Community Loki Operator는 Red Hat에서 지원하지 않습니다.

  3. stable-x.y업데이트 채널로 선택합니다.

    Loki Operator는 글로벌 Operator 그룹 네임스페이스 openshift-operators-redhat 에 배포되어야 하므로 설치 모드설치된 네임스페이스 가 이미 선택되어 있습니다. 이 네임스페이스가 아직 없는 경우 이를 위해 생성됩니다.

  4. 이 네임스페이스에서 Operator 권장 클러스터 모니터링 사용을 선택합니다.

    이 옵션은 Namespace 오브젝트에서 openshift.io/cluster-monitoring: "true" 라벨을 설정합니다. 클러스터 모니터링이 openshift-operators-redhat 네임스페이스를 스크랩하도록 하려면 이 옵션을 선택해야 합니다.

  5. 업데이트 승인의 경우 자동 을 선택한 다음 설치를 클릭합니다.

    서브스크립션의 승인 전략이 자동으로 설정된 경우 선택한 채널에서 새 Operator 버전을 사용할 수 있는 즉시 업데이트 프로세스가 시작됩니다. 승인 전략이 수동으로 설정된 경우 보류 중인 업데이트를 수동으로 승인해야 합니다.

    참고

    Operator는 설치가 완료되기 전에 실패 상태를 표시할 수 있습니다. Operator 설치가 InstallSucceeded 메시지와 함께 완료되면 페이지를 새로 고칩니다.

  6. Operator가 설치하는 동안 로그 저장소를 배포할 네임스페이스를 생성합니다.

    1. 화면 오른쪽 상단에서 + 를 클릭하여 YAML 가져오기 페이지에 액세스합니다.
    2. openshift-logging 네임스페이스에 대한 YAML 정의를 추가합니다.

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

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

      1
      openshift-logging 네임스페이스는 모든 로깅 워크로드에 전용됩니다.
      2
      클러스터 모니터링이 openshift-logging 네임스페이스를 스크랩하도록 하려면 표시된 대로 레이블을 지정하는 문자열 값입니다.
    3. 생성을 클릭합니다.
  7. 인증 정보를 사용하여 보안을 생성하여 오브젝트 스토리지에 액세스합니다.

    1. 화면 오른쪽 상단에서 + 를 클릭하여 YAML 가져오기 페이지에 액세스합니다.
    2. 보안에 대한 YAML 정의를 추가합니다. 예를 들어 AWS(Amazon Web Services) s3에 액세스할 시크릿을 생성합니다.

      Secret 오브젝트의 예

      apiVersion: v1
      kind: Secret
      metadata:
        name: logging-loki-s3 1
        namespace: openshift-logging 2
      stringData: 3
        access_key_id: <access_key_id>
        access_key_secret: <access_key>
        bucketnames: s3-bucket-name
        endpoint: https://s3.eu-central-1.amazonaws.com
        region: eu-central-1

      1
      나중에 LokiStack 리소스를 생성할 때 시크릿 logging-loki-s3 에 사용되는 이름을 적어 둡니다.
      2
      LokiStack 을 배포하는 데 사용되는 네임스페이스가 되도록 네임스페이스를 openshift-logging 으로 설정합니다.
      3
      보안 콘텐츠에 대한 자세한 내용은 Loki 오브젝트 스토리지 섹션을 참조하십시오.
      중요

      s3 버킷 또는 LokiStack 사용자 정의 리소스(CR)에 정의된 보존 기간이 없으면 로그가 정리되지 않고 s3 스토리지를 채울 수 있습니다.

    3. 생성을 클릭합니다.
  8. 설치된 Operator 페이지로 이동합니다. Provided API 에서 Loki Operator를 선택하고 LokiStack 리소스를 찾은 후 Create Instance 를 클릭합니다.
  9. YAML 보기를 선택한 다음 다음 템플릿을 사용하여 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
      storageClassName: <storage_class_name> 6
      tenants:
        mode: openshift-logging 7

    1
    logging-loki 라는 이름을 사용합니다.
    2
    openshift-logging 을 네임스페이스로 지정해야 합니다.
    3
    배포 크기를 지정합니다. Loki의 프로덕션 인스턴스에 지원되는 크기 옵션은 1x.extra- windows ,1x. windows 또는 1x.medium 입니다. 또한 1x.pico는 로깅 6.1부터 지원됩니다.
    4
    로그 저장소 시크릿의 이름을 지정합니다.
    5
    해당 스토리지 유형을 지정합니다.
    6
    임시 스토리지의 스토리지 클래스 이름을 지정합니다. 최상의 성능을 위해서는 블록 스토리지를 할당하는 스토리지 클래스를 지정합니다. oc get storageclasses 명령을 사용하여 클러스터에 사용 가능한 스토리지 클래스를 나열할 수 있습니다.
    7
    openshift-logging 모드는 감사, 인프라 및 애플리케이션과 같은 로그 유형에 대해 테넌트가 생성되는 기본 테넌시 모드입니다. 이를 통해 개별 사용자 및 사용자 그룹에 대한 액세스 제어를 다른 로그 스트림에 사용할 수 있습니다.
  10. 생성을 클릭합니다.

검증

  1. LokiStack 탭에 LokiStack 인스턴스가 표시됩니다.
  2. Status (상태) 열에서 Condition: Ready with a green checkmark 메시지가 표시되는지 확인합니다.

3.3.2.2. 웹 콘솔을 사용하여 Red Hat OpenShift Logging Operator 설치

OpenShift Container Platform 웹 콘솔을 사용하여 OpenShift Container Platform 클러스터에 Red Hat OpenShift Logging Operator를 설치하여 OperatorHub에서 로그 저장소로 로그를 수집하고 전달합니다.

사전 요구 사항

  • 관리자 권한이 있습니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
  • Loki Operator를 설치 및 구성했습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔 관리자 화면에서 Operator OperatorHub 로 이동합니다.
  2. 키워드로 필터링 필드에 Red Hat OpenShift Logging Operator를 입력합니다. 사용 가능한 Operator 목록에서 Red Hat OpenShift Logging Operator 를 클릭한 다음 설치를 클릭합니다.
  3. stable-x.y업데이트 채널로 선택합니다. 최신 버전은 이미 버전 필드에서 선택되어 있습니다.

    Red Hat OpenShift Logging Operator는 로깅 네임스페이스 openshift-logging 에 배포해야 하므로 설치 모드설치된 네임스페이스 가 이미 선택되어 있습니다. 이 네임스페이스가 아직 없는 경우 이를 위해 생성됩니다.

  4. 이 네임스페이스에서 Operator 권장 클러스터 모니터링 사용을 선택합니다.

    이 옵션은 Namespace 오브젝트에서 openshift.io/cluster-monitoring: "true" 라벨을 설정합니다. 클러스터 모니터링이 openshift-logging 네임스페이스를 스크랩하도록 하려면 이 옵션을 선택해야 합니다.

  5. 업데이트 승인의 경우 자동 을 선택한 다음 설치를 클릭합니다.

    서브스크립션의 승인 전략이 자동으로 설정된 경우 선택한 채널에서 새 Operator 버전을 사용할 수 있는 즉시 업데이트 프로세스가 시작됩니다. 승인 전략이 수동으로 설정된 경우 보류 중인 업데이트를 수동으로 승인해야 합니다.

    참고

    Operator는 설치가 완료되기 전에 실패 상태를 표시할 수 있습니다. Operator 설치가 InstallSucceeded 메시지와 함께 완료되면 페이지를 새로 고칩니다.

  6. Operator가 설치하는 동안 로그 수집기에서 로그를 수집하는 데 사용할 서비스 계정을 만듭니다.

    1. 화면 오른쪽 상단에 있는 + 를 클릭하여 YAML 가져오기 페이지에 액세스합니다.
    2. 서비스 계정에 대한 YAML 정의를 입력합니다.

      ServiceAccount 오브젝트의 예

      apiVersion: v1
      kind: ServiceAccount
      metadata:
        name: logging-collector 1
        namespace: openshift-logging 2

      1
      나중에 ClusterLogForwarder 리소스를 생성할 때 서비스 계정 logging-collector 에 사용되는 이름을 적어 둡니다.
      2
      ClusterLogForwarder 리소스를 배포하는 네임스페이스이므로 네임스페이스를 openshift-logging 으로 설정합니다.
    3. 생성 버튼을 클릭합니다.
  7. 수집하려는 로그에 액세스하고 로그 저장소(예: 인프라 및 애플리케이션 로그)를 작성하는 데 필요한 권한을 로그 수집기에 부여하려면 ClusterRoleBinding 오브젝트를 만듭니다.

    1. 화면 오른쪽 상단에 있는 + 를 클릭하여 YAML 가져오기 페이지에 액세스합니다.
    2. ClusterRoleBinding 리소스의 YAML 정의를 입력합니다.

      ClusterRoleBinding 리소스의 예

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: logging-collector:write-logs
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: logging-collector-logs-writer 1
      subjects:
      - kind: ServiceAccount
        name: logging-collector
        namespace: openshift-logging
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: logging-collector:collect-application
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: collect-application-logs 2
      subjects:
      - kind: ServiceAccount
        name: logging-collector
        namespace: openshift-logging
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: logging-collector:collect-infrastructure
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: collect-infrastructure-logs 3
      subjects:
      - kind: ServiceAccount
        name: logging-collector
        namespace: openshift-logging

      1
      로그 수집기가 LokiStack에 로그를 쓸 수 있도록 허용하는 클러스터 역할입니다.
      2
      로그 수집기가 애플리케이션에서 로그를 수집할 수 있는 클러스터 역할입니다.
      3
      로그 수집기가 인프라에서 로그를 수집할 수 있도록 하는 클러스터 역할입니다.
    3. 생성 버튼을 클릭합니다.
  8. Operator 설치된 Operator 페이지로 이동합니다. Operator를 선택하고 All instances 탭을 클릭합니다.
  9. 서비스 계정에 필요한 권한을 부여한 후 Installed Operators 페이지로 이동합니다. 제공된 API에서 Red Hat OpenShift Logging Operator를 선택하고 ClusterLogForwarder 리소스를 찾은 후 Create Instance 를 클릭합니다.
  10. YAML 보기를 선택한 다음 다음 템플릿을 사용하여 ClusterLogForwarder CR을 생성합니다.

    ClusterLogForwarder CR의 예

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: instance
      namespace: openshift-logging 1
    spec:
      serviceAccount:
        name: logging-collector 2
      outputs:
      - name: lokistack-out
        type: lokiStack 3
        lokiStack:
          target: 4
            name: logging-loki
            namespace: openshift-logging
          authentication:
            token:
              from: serviceAccount
        tls:
          ca:
            key: service-ca.crt
            configMapName: openshift-service-ca.crt
      pipelines:
      - name: infra-app-logs
        inputRefs: 5
        - application
        - infrastructure
        outputRefs:
        - lokistack-out

    1
    openshift-logging 을 네임스페이스로 지정해야 합니다.
    2
    이전에 생성한 서비스 계정의 이름을 지정합니다.
    3
    lokiStack 출력 유형을 선택하여 LokiStack 인스턴스에 로그를 보냅니다.
    4
    ClusterLogForwarder 에서 이전에 생성한 LokiStack 인스턴스를 가리킵니다.
    5
    LokiStack 인스턴스에 보낼 로그 출력 유형을 선택합니다.
  11. 생성을 클릭합니다.

검증

  1. ClusterLogForwarder 탭에서 ClusterLogForwarder 인스턴스가 표시되는지 확인합니다.
  2. 상태 열에서 메시지가 표시되는지 확인합니다.

    • condition: observability.openshift.io/Authorized
    • observability.openshift.io/Valid, Ready
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.