36.12.2. Elasticsearch 전체 클러스터 재시작 수행
변경 프로세스 중에 데이터 무결성을 위험할 수 있는 Elasticsearch의 주요 버전 또는 기타 변경 사항을 변경할 때 전체 재시작이 권장됩니다.
openshift_logging_use_ops
가 True
로 구성된 경우 Elasticsearch 클러스터에 대해 작업을 반복해야 합니다.
logging-es-ops
서비스를 변경할 때 구성 요소는 패치 대신 "es-ops-blocked" 및 "es-ops"를 사용합니다.
중단되는 동안 Elasticsearch 클러스터와의 모든 외부 통신을 비활성화합니다. 더 이상 Elasticsearch Pod가 실행 중이지 않도록 클러스터 외
로깅 서비스(예:
)를 편집합니다.logging-es
, logging-es-ops$ oc patch svc/logging-es -p '{"spec":{"selector":{"component":"es-blocked","provider":"openshift"}}}'
shard 동기화 플러시를 수행하여 종료하기 전에 디스크에 쓰기 대기 중인 작업이 없는지 확인하십시오.
$ oc exec -c elasticsearch <any_es_pod_in_the_cluster> -- \ curl -s \ --cacert /etc/elasticsearch/secret/admin-ca \ --cert /etc/elasticsearch/secret/admin-cert \ --key /etc/elasticsearch/secret/admin-key \ -XPOST 'https://localhost:9200/_flush/synced'
의도적으로 노드를 중단할 때 shard 밸런싱을 방지합니다.
$ oc exec -c elasticsearch <any_es_pod_in_the_cluster> -- \ curl -s \ --cacert /etc/elasticsearch/secret/admin-ca \ --cert /etc/elasticsearch/secret/admin-cert \ --key /etc/elasticsearch/secret/admin-key \ -XPUT 'https://localhost:9200/_cluster/settings' \ -d '{ "transient": { "cluster.routing.allocation.enable" : "none" } }'
완료되면 Elasticsearch 클러스터의 각
dc
에 대해 모든 노드를 축소합니다.$ oc scale dc <dc_name> --replicas=0
축소가 완료되면 Elasticsearch 클러스터의
dc
마다oc rollout latest
를 실행하여 최신 버전의dc
오브젝트를 배포합니다.$ oc rollout latest <dc_name>
새 포드가 배포됩니다. 포드에 2개의 컨테이너가 준비되면 다음
dc
로 이동할 수 있습니다.배포가 완료되면 Elasticsearch 클러스터의 각
dc
에 대해 노드를 확장합니다.$ oc scale dc <dc_name> --replicas=1
확장이 완료되면 ES 클러스터에 대한 모든 외부 통신을 활성화합니다. Elasticsearch Pod가 다시 실행 중인지 일치하도록 클러스터 외
로깅 서비스(예:
)를 편집합니다.logging-es
, logging-es-ops$ oc patch svc/logging-es -p '{"spec":{"selector":{"component":"es","provider":"openshift"}}}'