10장. OpenShift Logging 업데이트

표 10.1. Red Hat OpenShift Logging (RHOL)에 대한 OpenShift Container Platform 버전 지원

 4.74.84.9

RHOL 5.1

X

X

 

RHOL 5.2

X

X

X

RHOL 5.3

 

X

X

OpenShift Container Platform 버전 4.6 및 이전 버전의 OpenShift Logging 5.x로 클러스터 로깅에서 업그레이드하려면 OpenShift Container Platform 클러스터를 버전 4.7 또는 4.8로 업데이트합니다. 그런 다음 다음 operator를 업데이트합니다.

  • Elasticsearch Operator 4.x에서 OpenShift Elasticsearch Operator 5.x로 업데이트
  • Cluster Logging Operator 4.x에서 Red Hat OpenShift Logging Operator 5.x로 업데이트

이전 버전의 OpenShift Logging에서 현재 버전으로 업그레이드하려면 OpenShift Elasticsearch Operator 및 Red Hat OpenShift Logging Operator를 현재 버전으로 업데이트합니다.

10.1. OpenShift Container Platform 4.6 또는 이전 버전의 OpenShift Logging 5.x로 클러스터 로깅에서 업데이트

OpenShift Container Platform 4.7에서는 다음과 같이 이름이 변경되었습니다.

  • 클러스터 로깅 기능은 Red Hat OpenShift Logging 5.x 제품이 되었습니다.
  • Cluster Logging Operator가 Red Hat OpenShift Logging Operator가 되었습니다.
  • Elasticsearch Operator가 OpenShift Elasticsearch Operator가 되었습니다.

OpenShift Container Platform 버전 4.6 및 이전 버전의 OpenShift Logging 5.x로 클러스터 로깅에서 업그레이드하려면 OpenShift Container Platform 클러스터를 버전 4.7 또는 4.8로 업데이트합니다. 그런 다음 다음 operator를 업데이트합니다.

  • Elasticsearch Operator 4.x에서 OpenShift Elasticsearch Operator 5.x로 업데이트
  • Cluster Logging Operator 4.x에서 Red Hat OpenShift Logging Operator 5.x로 업데이트
중요

Red Hat OpenShift Logging Operator를 업데이트하기 전에 OpenShift Elasticsearch Operator를 업데이트해야 합니다. Operator를 동일한 버전으로 업데이트해야 합니다.

Operator를 잘못된 순서로 업데이트하면 Kibana가 업데이트되지 않고 Kibana 사용자 지정 리소스(CR)가 생성되지 않습니다. 이 문제를 해결하려면 Red Hat OpenShift Logging Operator Pod를 삭제합니다. Red Hat OpenShift Logging Operator Pod가 재배포되면 Kibana CR을 생성하고 Kibana를 다시 사용할 수 있게 됩니다.

사전 요구 사항

  • OpenShift Container Platform 4.7 이상 버전이어야 합니다.
  • OpenShift Logging 상태가 정상이여야 합니다.

    • 모든 Pod가 ready 상태입니다.
    • Elasticsearch 클러스터는 정상입니다.
  • Elasticsearch 및 Kibana 데이터가 백업됩니다.

절차

  1. OpenShift Elasticsearch Operator를 업데이트합니다.

    1. 웹 콘솔에서 Operator설치된 Operator를 클릭합니다.
    2. openshift-operators-redhat 프로젝트를 선택합니다.
    3. OpenShift Elasticsearch Operator를 클릭합니다.
    4. 서브스크립션채널을 클릭합니다.
    5. 서브스크립션 업데이트 채널 변경 창에서 5.0 또는 stable-5.x을 선택하고 저장을 클릭합니다.
    6. 몇 초 정도 기다린 후 Operator설치된 Operator를 클릭합니다.

      OpenShift Elasticsearch Operator 버전이 5.x.x인지 확인합니다.

      상태 필드가 성공으로 표시될 때까지 기다립니다.

  2. Cluster Logging Operator 업데이트:

    1. 웹 콘솔에서 Operator설치된 Operator를 클릭합니다.
    2. openshift-logging 프로젝트를 선택합니다.
    3. Cluster Logging Operator를 클릭합니다.
    4. 서브스크립션채널을 클릭합니다.
    5. 서브스크립션 업데이트 채널 변경 창에서 5.0 또는 stable-5.x을 선택하고 저장을 클릭합니다.
    6. 몇 초 정도 기다린 후 Operator설치된 Operator를 클릭합니다.

      Red Hat OpenShift Logging Operator 버전이 5.0.x 또는 5.x.x인지 확인합니다.

      상태 필드가 성공으로 표시될 때까지 기다립니다.

  3. 로깅 구성 요소를 확인합니다.

    1. 모든 Elasticsearch Pod가 ready 상태인지 확인합니다.

      $ oc get pod -n openshift-logging --selector component=elasticsearch

      출력 예

      NAME                                            READY   STATUS    RESTARTS   AGE
      elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk   2/2     Running   0          31m
      elasticsearch-cdm-1pbrl44l-2-5c6d87589f-gx5hk   2/2     Running   0          30m
      elasticsearch-cdm-1pbrl44l-3-88df5d47-m45jc     2/2     Running   0          29m

    2. Elasticsearch 클러스터가 정상인지 확인합니다.

      $ oc exec -n openshift-logging -c elasticsearch elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk -- health
      {
        "cluster_name" : "elasticsearch",
        "status" : "green",
      }
    3. Elasticsearch Cron 작업이 생성되었는지 확인합니다.

      $ oc project openshift-logging
      $ oc get cronjob
      NAME                     SCHEDULE       SUSPEND   ACTIVE   LAST SCHEDULE   AGE
      elasticsearch-im-app     */15 * * * *   False     0        <none>          56s
      elasticsearch-im-audit   */15 * * * *   False     0        <none>          56s
      elasticsearch-im-infra   */15 * * * *   False     0        <none>          56s
    4. 로그 저장소가 5.0 또는 5.x로 업데이트되고 인덱스가 green 인지 확인합니다.

      $ oc exec -c elasticsearch <any_es_pod_in_the_cluster> -- indices

      출력에 app-00000x, infra-00000x, audit-00000x, .security 인덱스가 포함되어 있는지 확인합니다.

      예 10.1. 인덱스가 녹색 상태인 샘플 출력

      Tue Jun 30 14:30:54 UTC 2020
      health status index                                                                 uuid                   pri rep docs.count docs.deleted store.size pri.store.size
      green  open   infra-000008                                                          bnBvUFEXTWi92z3zWAzieQ   3 1       222195            0        289            144
      green  open   infra-000004                                                          rtDSzoqsSl6saisSK7Au1Q   3 1       226717            0        297            148
      green  open   infra-000012                                                          RSf_kUwDSR2xEuKRZMPqZQ   3 1       227623            0        295            147
      green  open   .kibana_7                                                             1SJdCqlZTPWlIAaOUd78yg   1 1            4            0          0              0
      green  open   infra-000010                                                          iXwL3bnqTuGEABbUDa6OVw   3 1       248368            0        317            158
      green  open   infra-000009                                                          YN9EsULWSNaxWeeNvOs0RA   3 1       258799            0        337            168
      green  open   infra-000014                                                          YP0U6R7FQ_GVQVQZ6Yh9Ig   3 1       223788            0        292            146
      green  open   infra-000015                                                          JRBbAbEmSMqK5X40df9HbQ   3 1       224371            0        291            145
      green  open   .orphaned.2020.06.30                                                  n_xQC2dWQzConkvQqei3YA   3 1            9            0          0              0
      green  open   infra-000007                                                          llkkAVSzSOmosWTSAJM_hg   3 1       228584            0        296            148
      green  open   infra-000005                                                          d9BoGQdiQASsS3BBFm2iRA   3 1       227987            0        297            148
      green  open   infra-000003                                                          1-goREK1QUKlQPAIVkWVaQ   3 1       226719            0        295            147
      green  open   .security                                                             zeT65uOuRTKZMjg_bbUc1g   1 1            5            0          0              0
      green  open   .kibana-377444158_kubeadmin                                           wvMhDwJkR-mRZQO84K0gUQ   3 1            1            0          0              0
      green  open   infra-000006                                                          5H-KBSXGQKiO7hdapDE23g   3 1       226676            0        295            147
      green  open   infra-000001                                                          eH53BQ-bSxSWR5xYZB6lVg   3 1       341800            0        443            220
      green  open   .kibana-6                                                             RVp7TemSSemGJcsSUmuf3A   1 1            4            0          0              0
      green  open   infra-000011                                                          J7XWBauWSTe0jnzX02fU6A   3 1       226100            0        293            146
      green  open   app-000001                                                            axSAFfONQDmKwatkjPXdtw   3 1       103186            0        126             57
      green  open   infra-000016                                                          m9c1iRLtStWSF1GopaRyCg   3 1        13685            0         19              9
      green  open   infra-000002                                                          Hz6WvINtTvKcQzw-ewmbYg   3 1       228994            0        296            148
      green  open   infra-000013                                                          KR9mMFUpQl-jraYtanyIGw   3 1       228166            0        298            148
      green  open   audit-000001                                                          eERqLdLmQOiQDFES1LBATQ   3 1            0            0          0              0
    5. 로그 수집기가 5.0 또는 5.x로 업데이트되었는지 확인합니다.

      $ oc get ds fluentd -o json | grep fluentd-init

      출력에 fluentd-init 컨테이너가 포함되어 있는지 확인합니다.

      "containerName": "fluentd-init"
    6. 로그 시각화 프로그램이 Kibana CRD를 사용하여 5.0 또는 5.x로 업데이트되었는지 확인합니다.

      $ oc get kibana kibana -o json

      출력에 ready 상태가 있는 Kibana pod가 포함되어 있는지 확인합니다.

      예 10.2. Kibana Pod가 준비된 샘플 출력

      [
      {
      "clusterCondition": {
      "kibana-5fdd766ffd-nb2jj": [
      {
      "lastTransitionTime": "2020-06-30T14:11:07Z",
      "reason": "ContainerCreating",
      "status": "True",
      "type": ""
      },
      {
      "lastTransitionTime": "2020-06-30T14:11:07Z",
      "reason": "ContainerCreating",
      "status": "True",
      "type": ""
      }
      ]
      },
      "deployment": "kibana",
      "pods": {
      "failed": [],
      "notReady": []
      "ready": []
      },
      "replicaSets": [
      "kibana-5fdd766ffd"
      ],
      "replicas": 1
      }
      ]