Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

36.4. 部署 EFK 堆栈

EFK 堆栈使用 Ansible playbook 部署到 EFK 组件。使用默认清单文件,从默认 OpenShift Ansible 位置运行 playbook。

$ cd /usr/share/ansible/openshift-ansible
$ ansible-playbook [-i </path/to/inventory>] \
    playbooks/openshift-logging/config.yml

运行 playbook 会部署支持堆栈所需的所有资源;如 Secrets、ServiceAccounts 和 DeploymentConfigs,部署到项目 openshift-logging。playbook 会等待部署组件 Pod,直到堆栈运行为止。如果等待步骤失败,则部署可能仍然成功;可以从 registry 检索组件镜像(最多需要几分钟)。您可以通过以下方法监视进程:

$ oc get pods -w

logging-curator-1541129400-l5h77           0/1       Running   0          11h  1
logging-es-data-master-ecu30lr4-1-deploy   0/1       Running   0          11h  2
logging-fluentd-2lgwn                      1/1       Running   0          11h  3
logging-fluentd-lmvms                      1/1       Running   0          11h
logging-fluentd-p9nd7                      1/1       Running   0          11h
logging-kibana-1-zk94k                     2/2       Running   0          11h  4
1
Curator Pod。Curator 只需要一个 pod。
2
此主机上的 Elasticsearch pod。
3
Fliuentd pod。集群中的每个节点都有一个 pod。
4
Kibana Pod。

您可以使用 'oc get pods -o wide 命令查看部署了 Fluentd Pod 的节点:

$ oc get pods -o wide
NAME                                       READY     STATUS    RESTARTS   AGE       IP             NODE                         NOMINATED NODE
logging-es-data-master-5av030lk-1-2x494    2/2       Running   0          38m       154.128.0.80   ip-153-12-8-6.wef.internal   <none>
logging-fluentd-lqdxg                      1/1       Running   0          2m        154.128.0.85   ip-153-12-8-6.wef.internal   <none>
logging-kibana-1-gj5kc                     2/2       Running   0          39m       154.128.0.77   ip-153-12-8-6.wef.internal   <none>

它们最终将进入 Running 状态。如需通过检索相关事件在部署过程中 pod 状态的更多信息:

$ oc describe pods/<pod_name>

检查 pod 没有成功运行的日志:

$ oc logs -f <pod_name>