4.4. 로깅 배포 수정


4.4.1. 웹 콘솔을 사용하여 Red Hat OpenShift Logging Operator 배포

OpenShift Container Platform 웹 콘솔을 사용하여 Red Hat OpenShift Logging Operator를 배포할 수 있습니다.

사전 요구 사항

Red Hat OpenShift의 로깅 하위 시스템은 핵심 OpenShift Container Platform과는 별도의 릴리스 사이클과 함께 설치 가능한 구성 요소로 제공됩니다. Red Hat OpenShift Container Platform 라이프 사이클 정책은 릴리스 호환성에 대해 간략하게 설명합니다.

절차

OpenShift Container Platform 웹 콘솔을 사용하여 Red Hat OpenShift Logging Operator를 배포하려면 다음을 수행합니다.

  1. Red Hat OpenShift Logging Operator를 설치합니다.

    1. OpenShift Container Platform 웹 콘솔에서 Operator OperatorHub를 클릭합니다.
    2. 키워드로 필터링 필드에 Logging 을 입력합니다.
    3. 사용 가능한 Operator 목록에서 Red Hat OpenShift Logging을 선택한 다음 설치를 클릭합니다.
    4. stable 또는 stable-5.y업데이트 채널로 선택합니다.

      참고

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

    5. 설치 모드에서 클러스터의 특정 네임스페이스 가 선택되어 있는지 확인합니다.
    6. 설치된 네임스페이스에서 Operator 권장 네임스페이스openshift-logging인지 확인하십시오.
    7. 이 네임스페이스에서 Operator 권장 클러스터 모니터링 사용을 선택합니다.
    8. 업데이트 승인을 위해 옵션을 선택합니다.

      • 자동 옵션을 사용하면 새 버전이 제공되면 OLM(Operator Lifecycle Manager)에서 Operator를 자동으로 업데이트할 수 있습니다.
      • 수동 옵션을 사용하려면 적절한 자격 증명을 가진 사용자가 Operator 업데이트를 승인해야 합니다.
    9. Console 플러그인에 대해 Enable 또는 Disable 을 선택합니다.
    10. 설치를 클릭합니다.
  2. Operator 설치된 Operator 페이지로 전환하여 Red Hat OpenShift Logging Operator 설치되었는지 확인합니다.

    1. Red Hat OpenShift Loggingopenshift-logging 프로젝트에 성공 상태로 나열되어 있는지 확인합니다.
  3. ClusterLogging 인스턴스를 생성합니다.

    참고

    웹 콘솔의 양식 보기에 사용 가능한 모든 옵션이 포함되지는 않습니다. 설정을 완료하려면 YAML 보기 를 사용하는 것이 좋습니다.

    1. 컬렉션 섹션에서 수집기 구현을 선택합니다.

      참고

      로깅 버전 5.6 Fluentd는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. Red Hat은 현재 릴리스 라이프사이클 동안 이 기능에 대한 버그 수정 및 지원을 제공하지만 이 기능은 더 이상 개선 사항을 받지 않으며 제거됩니다. Fluentd 대신 Vector를 사용할 수 있습니다.

    2. logStore 섹션에서 유형을 선택합니다.

      참고

      로깅 버전 5.4.3부터 Elasticsearch Operator는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. Red Hat은 현재 릴리스 라이프사이클 동안 이 기능에 대한 버그 수정 및 지원을 제공하지만 이 기능은 더 이상 개선 사항을 받지 않으며 제거됩니다. Elasticsearch Operator를 사용하여 기본 로그 스토리지를 관리하는 대신 Loki Operator를 사용할 수 있습니다.

    3. 생성을 클릭합니다.

4.4.2. 웹 콘솔을 사용하여 test Operator 배포

OpenShift Container Platform 웹 콘솔을 사용하여 Loki Operator를 설치할 수 있습니다.

사전 요구 사항

  • 지원되는 로그 저장소(AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation)

절차

OpenShift Container Platform 웹 콘솔을 사용하여 Loki Operator를 설치하려면 다음을 수행합니다.

  1. OpenShift Container Platform 웹 콘솔에서 Operator OperatorHub를 클릭합니다.
  2. 키워드로 필터링 필드에 태그를 입력합니다.

    1. 사용 가능한 Operator 목록에서or Operator를 선택하고 설치를 클릭합니다.
  3. stable 또는 stable-5.y업데이트 채널로 선택합니다.

    참고

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

  4. 설치 모드에서 클러스터의 모든 네임스페이스 가 선택되어 있는지 확인합니다.
  5. 설치된 네임스페이스에서 openshift-operators-redhat이 선택되어 있는지 확인합니다.
  6. 이 네임스페이스에서 Operator 권장 클러스터 모니터링 사용을 선택합니다.

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

  7. 업데이트 승인을 위해 옵션을 선택합니다.

    • 자동 옵션을 사용하면 새 버전이 제공되면 OLM(Operator Lifecycle Manager)에서 Operator를 자동으로 업데이트할 수 있습니다.
    • 수동 옵션을 사용하려면 적절한 자격 증명을 가진 사용자가 Operator 업데이트를 승인해야 합니다.
  8. 설치를 클릭합니다.
  9. Operator 설치된 Operator 페이지로 전환하여 iPXE Operator설치되었는지 확인합니다.

    1. 모든 프로젝트에서 Status Succeeded 로 나열되어 있는지 확인합니다.
  10. access_key_idaccess_key_secret 필드를 사용하여 자격 증명과 버킷 이름,끝점, 리전 을 사용하여 오브젝트 스토리지 위치를 정의하는 Secret YAML 파일을 생성합니다. AWS는 다음 예에서 사용됩니다.

    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
  11. 세부 정보 탭에서 Create instance Stack을 선택합니다. 그런 다음 YAML 보기 를 선택합니다. 다음 템플릿에 붙여넣고 적절한 값을 지정합니다.

      apiVersion: loki.grafana.com/v1
      kind: LokiStack
      metadata:
        name: logging-loki 1
        namespace: openshift-logging
      spec:
        size: 1x.small 2
        storage:
          schemas:
          - version: v12
            effectiveDate: '2022-06-01'
          secret:
            name: logging-loki-s3 3
            type: s3 4
        storageClassName: <storage_class_name> 5
        tenants:
          mode: openshift-logging
    1
    name은 logging-loki 여야 합니다.
    2
    배포 크기를 선택합니다.
    3
    로그 스토리지에 사용되는 시크릿을 정의합니다.
    4
    해당 스토리지 유형을 정의합니다.
    5
    임시 스토리지용 기존 스토리지 클래스의 이름을 입력합니다. 최상의 성능을 위해서는 블록 스토리지를 할당하는 스토리지 클래스를 지정합니다. 클러스터에 사용 가능한 스토리지 클래스는 oc get storageclasses 를 사용하여 나열할 수 있습니다.
    1. 설정을 적용합니다.

      oc apply -f logging-loki.yaml
  12. ClusterLogging CR을 생성하거나 편집합니다.

      apiVersion: logging.openshift.io/v1
      kind: ClusterLogging
      metadata:
        name: instance
        namespace: openshift-logging
      spec:
        managementState: Managed
        logStore:
          type: lokistack
          lokistack:
            name: logging-loki
          collection:
            type: vector
    1. 설정을 적용합니다.

      oc apply -f cr-lokistack.yaml

4.4.3. CLI를 사용하여 OperatorHub에서 설치

OpenShift Container Platform 웹 콘솔을 사용하는 대신 CLI를 사용하여 OperatorHub에서 Operator를 설치할 수 있습니다. oc 명령을 사용하여 Subscription 개체를 만들거나 업데이트합니다.

사전 요구 사항

  • cluster-admin 권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • 로컬 시스템에 oc 명령을 설치합니다.

절차

  1. OperatorHub에서 클러스터에 사용 가능한 Operator의 목록을 표시합니다.

    $ oc get packagemanifests -n openshift-marketplace

    출력 예

    NAME                               CATALOG               AGE
    3scale-operator                    Red Hat Operators     91m
    advanced-cluster-management        Red Hat Operators     91m
    amq7-cert-manager                  Red Hat Operators     91m
    ...
    couchbase-enterprise-certified     Certified Operators   91m
    crunchy-postgres-operator          Certified Operators   91m
    mongodb-enterprise                 Certified Operators   91m
    ...
    etcd                               Community Operators   91m
    jaeger                             Community Operators   91m
    kubefed                            Community Operators   91m
    ...

    필요한 Operator의 카탈로그를 기록해 둡니다.

  2. 필요한 Operator를 검사하여 지원되는 설치 모드 및 사용 가능한 채널을 확인합니다.

    $ oc describe packagemanifests <operator_name> -n openshift-marketplace
  3. OperatorGroup 오브젝트로 정의되는 Operator group에서 Operator group과 동일한 네임스페이스에 있는 모든 Operator에 대해 필요한 RBAC 액세스 권한을 생성할 대상 네임스페이스를 선택합니다.

    Operator를 서브스크립션하는 네임스페이스에는 Operator의 설치 모드, 즉 AllNamespaces 또는 SingleNamespace 모드와 일치하는 Operator group이 있어야 합니다. 설치하려는 Operator에서 AllNamespaces를 사용하는 경우 openshift-operators 네임스페이스에 적절한 Operator group이 이미 있습니다.

    그러나 Operator에서 SingleNamespace 모드를 사용하고 적절한 Operator group이 없는 경우 이를 생성해야 합니다.

    참고

    이 프로세스의 웹 콘솔 버전에서는 SingleNamespace 모드를 선택할 때 자동으로 OperatorGroupSubscription 개체 생성을 자동으로 처리합니다.

    1. OperatorGroup 개체 YAML 파일을 만듭니다 (예: operatorgroup.yaml).

      OperatorGroup 오브젝트의 예

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: <operatorgroup_name>
        namespace: <namespace>
      spec:
        targetNamespaces:
        - <namespace>

    2. OperatorGroup 개체를 생성합니다.

      $ oc apply -f operatorgroup.yaml
  4. Subscription 개체 YAML 파일을 생성하여 OpenShift Pipelines Operator에 네임스페이스를 등록합니다(예: sub.yaml).

    Subscription 개체 예

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: <subscription_name>
      namespace: openshift-operators 1
    spec:
      channel: <channel_name> 2
      name: <operator_name> 3
      source: redhat-operators 4
      sourceNamespace: openshift-marketplace 5
      config:
        env: 6
        - name: ARGS
          value: "-v=10"
        envFrom: 7
        - secretRef:
            name: license-secret
        volumes: 8
        - name: <volume_name>
          configMap:
            name: <configmap_name>
        volumeMounts: 9
        - mountPath: <directory_name>
          name: <volume_name>
        tolerations: 10
        - operator: "Exists"
        resources: 11
          requests:
            memory: "64Mi"
            cpu: "250m"
          limits:
            memory: "128Mi"
            cpu: "500m"
        nodeSelector: 12
          foo: bar

    1
    AllNamespaces 설치 모드를 사용하려면 openshift-operators 네임스페이스를 지정합니다. 그 외에는 SingleNamespace 설치 모드를 사용하도록 관련 단일 네임스페이스를 지정합니다.
    2
    등록할 채널의 이름입니다.
    3
    등록할 Operator의 이름입니다.
    4
    Operator를 제공하는 카탈로그 소스의 이름입니다.
    5
    카탈로그 소스의 네임스페이스입니다. 기본 OperatorHub 카탈로그 소스에는 openshift-marketplace를 사용합니다.
    6
    env 매개변수는 OLM에서 생성한 포드의 모든 컨테이너에 있어야 하는 환경 변수 목록을 정의합니다.
    7
    envFrom 매개변수는 컨테이너에서 환경 변수를 채울 소스 목록을 정의합니다.
    8
    volumes 매개변수는 OLM에서 생성한 Pod에 있어야 하는 볼륨 목록을 정의합니다.
    9
    volumeMounts 매개변수는 OLM에서 생성한 Pod의 모든 컨테이너에 있어야 하는 VolumeMounts 목록을 정의합니다. volumeMount 가 존재하지 않는 볼륨을 참조하는 경우 OLM에서 Operator를 배포하지 못합니다.
    10
    tolerations 매개변수는 OLM에서 생성한 Pod의 Tolerations 목록을 정의합니다.
    11
    resources 매개변수는 OLM에서 생성한 Pod의 모든 컨테이너에 대한 리소스 제약 조건을 정의합니다.
    12
    nodeSelector 매개변수는 OLM에서 생성한 Pod에 대한 NodeSelector 를 정의합니다.
  5. Subscription 오브젝트를 생성합니다.

    $ oc apply -f sub.yaml

    이 시점에서 OLM은 이제 선택한 Operator를 인식합니다. Operator의 CSV(클러스터 서비스 버전)가 대상 네임스페이스에 표시되고 Operator에서 제공하는 API를 생성에 사용할 수 있어야 합니다.

4.4.4. 웹 콘솔을 사용하여 클러스터에서 Operator 삭제

클러스터 관리자는 웹 콘솔을 사용하여 선택한 네임스페이스에서 설치된 Operator를 삭제할 수 있습니다.

사전 요구 사항

  • cluster-admin 권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터 웹 콘솔에 액세스할 수 있습니다.

절차

  1. Operator 설치된 Operator 페이지로 이동합니다.
  2. 제거하려는 Operator를 찾으려면 이름으로 필터링 필드에 키워드를 스크롤하거나 입력합니다. 그런 다음 해당 Operator를 클릭합니다.
  3. Operator 세부 정보 페이지 오른쪽에 있는 작업 목록에서 Operator 제거를 선택합니다.

    Operator를 설치 제거하시겠습니까? 대화 상자가 표시됩니다.

  4. 설치 제거를 선택하여 Operator, Operator 배포 및 Pod를 제거합니다. 이 작업 후에 Operator는 실행을 중지하고 더 이상 업데이트가 수신되지 않습니다.

    참고

    이 작업은 CRD(사용자 정의 리소스 정의) 및 CR(사용자 정의 리소스)을 포함하여 Operator에서 관리하는 리소스를 제거하지 않습니다. 웹 콘솔에서 활성화된 대시보드 및 탐색 항목과 계속 실행되는 클러스터 외부 리소스는 수동 정리가 필요할 수 있습니다. Operator를 설치 제거한 후 해당 항목을 제거하려면 Operator CRD를 수동으로 삭제해야 할 수 있습니다.

4.4.5. CLI를 사용하여 클러스터에서 Operator 삭제

클러스터 관리자는 CLI를 사용하여 선택한 네임스페이스에서 설치된 Operator를 삭제할 수 있습니다.

사전 요구 사항

  • cluster-admin 권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • oc 명령이 워크스테이션에 설치되어 있습니다.

절차

  1. currentCSV 필드에서 구독한 Operator(예: jaeger)의 현재 버전을 확인합니다.

    $ oc get subscription jaeger -n openshift-operators -o yaml | grep currentCSV

    출력 예

      currentCSV: jaeger-operator.v1.8.2

  2. 서브스크립션을 삭제합니다(예: jaeger).

    $ oc delete subscription jaeger -n openshift-operators

    출력 예

    subscription.operators.coreos.com "jaeger" deleted

  3. 이전 단계의 currentCSV 값을 사용하여 대상 네임스페이스에서 Operator의 CSV를 삭제합니다.

    $ oc delete clusterserviceversion jaeger-operator.v1.8.2 -n openshift-operators

    출력 예

    clusterserviceversion.operators.coreos.com "jaeger-operator.v1.8.2" deleted

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.