《OpenShift 4.x HOL教程汇总》
说明:本文已经在OpenShift 4.17 + OpenShift Logging 5.9.9 + OpenShift Elasticsearch 5.8.15 环境中验证
文章目录
在 OpenShift 4 中使用 Elasticsearch 作为日志存储组件,使用 Kibana 作为日志展示组件,使用 Fluentd 作为日志的收集组件。
OpenShift 4 缺省安装后是没有集群日志环境的。我们可以通过以下步骤在 OpenShift 上安装配置基于 EFK 的集群日志运行环境。
注意:本文部分截图显示的版本未更新。
安装集群日志环境
安装 OpenShift Elasticsearch Operator
使用默认配置安装 OpenShift Elasticsearch Operator:
安装 OpenShift Logging Operator
使用默认配置安装 OpenShift Logging Operator:
根据以下配置在 OpenShift Logging Operator 创建一个 Cluster Logging 实例。注意:visualization 中的 kibana 只和 elasticsearch 相配,ocp-console 只和 loki 相配
apiVersion: logging.openshift.io/v1
kind: ClusterLogging
metadata:
name: instance
namespace: openshift-logging
spec:
collection:
type: fluentd
logStore:
elasticsearch:
storage:
size: 50G
nodeCount: 3
redundancyPolicy: SingleRedundancy
retentionPolicy:
application:
maxAge: 7d
type: elasticsearch
visualization:
kibana:
replicas: 1
type: kibana
managementState: Managed
完成部署后可以在 openshift-logging 项目中看到以下资源。
同时可以在 openshift-logging 中看到以下部署和 Pod。
$ oc get deployment -n openshift-logging
NAME READY UP-TO-DATE AVAILABLE AGE
cluster-logging-operator 1/1 1 1 10m
elasticsearch-cdm-2jcgawtn-1 1/1 1 1 5m52s
elasticsearch-cdm-2jcgawtn-2 1/1 1 1 5m51s
elasticsearch-cdm-2jcgawtn-3 1/1 1 1 5m50s
kibana 1/1 1 1 5m48s
$ oc get pod -n openshift-logging
NAME READY STATUS RESTARTS AGE
cluster-logging-operator-68c8747b7d-tl529 1/1 Running 0 15m
collector-4sbzg 2/2 Running 0 9m40s
collector-8dxhn 2/2 Running 0 9m23s
collector-8wd7k 2/2 Running 0 10m
collector-d7ntv 2/2 Running 0 10m
collector-phdlx 2/2 Running 0 10m
collector-xxmtk 2/2 Running 0 9m32s
elasticsearch-cdm-2jcgawtn-1-5986d76885-qn8f9 2/2 Running 0 11m
elasticsearch-cdm-2jcgawtn-2-7f9f8c5796-x6tc5 2/2 Running 0 11m
elasticsearch-cdm-2jcgawtn-3-598f8db9c9-kbvbj 2/2 Running 0 11m
elasticsearch-im-app-27638040-v6rh5 0/1 Completed 0 2m17s
elasticsearch-im-audit-27638040-fh45f 0/1 Completed 0 2m17s
elasticsearch-im-infra-27638040-5wksw 0/1 Completed 0 2m17s
kibana-747f98d587-hxfgk 2/2 Running 0 11m
在 Kibana 中查看集群日志
在 OpenShift 控制台的右上方点击下图的图标,可以看到名为 Logging 菜单。进入上述 Logging 菜单即可进入 Kibana 控制台页面。
在 Step 1 of 2: Define index pattern 中为 “Index pattern” 填写 “.all”,然后点击 “> Next step” 按钮。
在 Step 2 of 2: Configure settings 中为 “Time Filter field name” 选择 “@timestamp”,然后点击 “Create index pattern” 按钮。
在 Discover 中即可看到 OpenShift 集群日志。
查看应用日志
在 log-app 项目中基于 https://github.com/liuxiaoyu-git/openshift-workshop-1 部署应用,其中 “构建器镜像版本” 使用 openjdk-11-ubi8,应用程序名称设为 openshift-workshop-app,名称设为 openshift-workshop。
在部署完后查看运行的 Pod 日志,然后可点击 “Show in Kibana”。
在 Kibana 中可查看该应用的日志,其中 kubernetes.pod_name:"openshift-workshop-fdd97b56c-jl9w7" AND kubernetes.namespace_name:"log-app" AND kubernetes.container_name.raw:"openshift-workshop"
便是应用日志过滤条件。
参考
https://github.com/rhthsa/openshift-demo/blob/main/infrastructure-cluster-logging.md
https://github.com/liuxiaoyu-git/openshift-workshop-1/blob/main/logging.md