10.2. OpenShift Logging을 현재 버전으로 업데이트
OpenShift Logging을 5.x에서 현재 버전으로 업데이트하려면 OpenShift Elasticsearch Operator 및 Red Hat OpenShift Logging Operator의 서브스크립션을 변경합니다.
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 클러스터는 정상입니다.
-
모든 Pod가
- Elasticsearch 및 Kibana 데이터가 백업됩니다.
절차
OpenShift Elasticsearch Operator를 업데이트합니다.
-
웹 콘솔에서 Operator
설치된 Operator를 클릭합니다. -
openshift-operators-redhat
프로젝트를 선택합니다. - OpenShift Elasticsearch Operator를 클릭합니다.
-
서브스크립션
채널을 클릭합니다. - 서브스크립션 업데이트 채널 변경 창에서 stable-5.x을 선택하고 저장을 클릭합니다.
몇 초 정도 기다린 후 Operator
설치된 Operator를 클릭합니다. OpenShift Elasticsearch Operator 버전이 5.x.x인지 확인합니다.
상태 필드가 성공으로 표시될 때까지 기다립니다.
-
웹 콘솔에서 Operator
Red Hat OpenShift Logging Operator를 업데이트합니다.
-
웹 콘솔에서 Operator
설치된 Operator를 클릭합니다. -
openshift-logging
프로젝트를 선택합니다. - Red Hat OpenShift Logging Operator를 클릭합니다.
-
서브스크립션
채널을 클릭합니다. - 서브스크립션 업데이트 채널 변경 창에서 stable-5.x을 선택하고 저장을 클릭합니다.
몇 초 정도 기다린 후 Operator
설치된 Operator를 클릭합니다. Red Hat OpenShif Logging Operator 버전이 5.x.x인지 확인합니다.
상태 필드가 성공으로 표시될 때까지 기다립니다.
-
웹 콘솔에서 Operator
로깅 구성 요소를 확인합니다.
모든 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
Elasticsearch 클러스터가 정상인지 확인합니다.
$ oc exec -n openshift-logging -c elasticsearch elasticsearch-cdm-1pbrl44l-1-55b7546f4c-mshhk -- health
{ "cluster_name" : "elasticsearch", "status" : "green", }
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
로그 저장소가 5.x로 업데이트되고 인덱스가
green
인지 확인합니다.$ oc exec -c elasticsearch <any_es_pod_in_the_cluster> -- indices
출력에
app-00000x
,infra-00000x
,audit-00000x
,.security
인덱스가 포함되어 있는지 확인합니다.예 10.3. 인덱스가 녹색 상태인 샘플 출력
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.x로 업데이트되었는지 확인합니다.
$ oc get ds fluentd -o json | grep fluentd-init
출력에
fluentd-init
컨테이너가 포함되어 있는지 확인합니다."containerName": "fluentd-init"
로그 시각화 프로그램이 Kibana CRD를 사용하여 5.x로 업데이트되었는지 확인합니다.
$ oc get kibana kibana -o json
출력에
ready
상태가 있는 Kibana pod가 포함되어 있는지 확인합니다.예 10.4. 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 } ]