36.11. 집계된 로깅 드라이버 변경
집계된 로깅의 경우 json-file
로그 드라이버를 사용하는 것이 좋습니다.
json-file
드라이버를 사용하는 경우 Docker 버전 docker-1.12.6-55.gitc4618fb.el7_4를 사용 중인지 확인합니다.
Fluentd는 /etc/docker/ daemon.json 및 /etc/sysconfig/docker 파일을 확인하여 Docker가 사용 중인 드라이버를 결정합니다.
Docker info
명령과 함께 사용 중인 드라이버를 확인할 수 있습니다.
# docker info | grep Logging Logging Driver: journald
json-file
로 변경하려면 다음을 수행합니다.
/etc/sysconfig/docker 또는 /etc/docker/daemon.json 파일을 수정합니다.
예를 들면 다음과 같습니다.
# cat /etc/sysconfig/docker OPTIONS=' --selinux-enabled --log-driver=json-file --log-opt max-size=1M --log-opt max-file=3 --signature-verification=False' cat /etc/docker/daemon.json { "log-driver": "json-file", "log-opts": { "max-size": "1M", "max-file": "1" } }
Docker 서비스를 다시 시작하십시오.
systemctl restart docker
Fluentd를 다시 시작합니다.
주의12개 이상의 노드에서 Fluentd를 한 번에 다시 시작하면 Kubernetes 스케줄러에 큰 부하가 생성됩니다. 다음 지침을 사용하여 Fluentd를 다시 시작할 때 주의하십시오.
Fluentd를 다시 시작하는 방법은 두 가지가 있습니다. 단일 노드 또는 노드 세트에서 Fluentd를 다시 시작하거나 모든 노드에서 시작할 수 있습니다.
다음 단계에서는 노드 또는 노드 세트에서 Fluentd를 다시 시작하는 방법을 보여줍니다.
Fluentd가 실행 중인 노드를 나열합니다.
$ oc get nodes -l logging-infra-fluentd=true
각 노드에 대해 라벨을 제거하고 Fluentd를 종료합니다.
$ oc label node $node logging-infra-fluentd-
Fluentd가 꺼져 있는지 확인합니다.
$ oc get pods -l component=fluentd
각 노드에 Fluentd를 다시 시작합니다.
$ oc label node $node logging-infra-fluentd=true
다음 단계에서는 Fluentd 모든 노드를 다시 시작하는 방법을 보여줍니다.
모든 노드에서 Fluentd를 끕니다.
$ oc label node -l logging-infra-fluentd=true --overwrite logging-infra-fluentd=false
Fluentd가 꺼져 있는지 확인합니다.
$ oc get pods -l component=fluentd
모든 노드에서 Fluentd를 다시 시작합니다.
$ oc label node -l logging-infra-fluentd=false --overwrite logging-infra-fluentd=true
Fluentd가 있는지 확인합니다.
$ oc get pods -l component=fluentd