3.2. 使用 web 控制台安装 Cluster Logging Operator。
使用 OpenShift Container Platform web 控制台安装 Cluster Logging Operator。
您不能通过 web 控制台或使用 oc new-project
命令创建名称以 openshift-
开始的项目。您必须使用一个 YAML 对象文件创建一个命名空间(Namespace),并运行 oc create -f <file-name>.yaml
命令,如下所示。
流程
使用 OpenShift Container Platform web 控制台安装 Cluster Logging Operator:
为 Cluster Logging Operator 创建一个命名空间。您必须使用 CLI 创建命名空间。
为 Cluster Logging Operator 创建一个命名空间对象 YAML 文件(例如,
clo-namespace.yaml
):apiVersion: v1 kind: Namespace metadata: name: openshift-logging 1 annotations: openshift.io/node-selector: "" 2 labels: openshift.io/cluster-logging: "true" openshift.io/cluster-monitoring: "true"
创建命名空间:
$ oc create -f <file-name>.yaml
例如:
$ oc create -f clo-namespace.yaml
安装 Cluster Logging Operator:
-
在 OpenShift Container Platform Web 控制台中,点击 Operators
OperatorHub。 - 从可用 Operator 列表中选择 Cluster Logging,再点击 Install。
- 在 Create Operator Subscription 页面中,在 A specific namespace on the cluster 下选择 openshift-logging。然后,点击 Subscribe。
-
在 OpenShift Container Platform Web 控制台中,点击 Operators
验证 Cluster Logging Operator 已被安装。
-
切换到 Operators
Installed Operators 页面。 确保 openshift-logging 项目中列出的 Cluster Logging 的 Status 为 InstallSucceeded。
注意在安装过程中,Operator 可能会显示 Failed 状态。如果 Operator 随后被安装并显示 InstallSucceeded 信息,则可以忽略 Failed 信息。
如果 Operator 没有被成功安装,请按照以下步骤进行故障排除:
-
切换到 Operators
Installed Operators 页面,并检查 Status 列中是否有任何错误或故障。 -
切换到 Workloads
Pods 页面,并检查 openshift-logging
和openshift-operators-redhat
项目中报告问题的 Pod 的日志。
-
切换到 Operators
-
切换到 Operators
创建集群日志记录实例:
-
切换到 Administration
Custom Resource Definitions 页面。 - 在 Custom Resource Definitions 页面上,点 ClusterLogging。
- 在 Custom Resource Definition Overview 页面上,从 Actions 菜单中选择 View Instances。
在 Cluster Loggings 页面上,点击 Create Cluster Logging。
您可能需要刷新页面来加载数据。
将 YAML 项中的代码替换为以下内容:
注意此默认集群日志记录配置应该可以支持不同的环境。请参考有关调优和配置集群日志记录组件的主题,以了解有关可对集群日志记录集群进行修改的信息。
apiVersion: "logging.openshift.io/v1" kind: "ClusterLogging" metadata: name: "instance" 1 namespace: "openshift-logging" spec: managementState: "Managed" 2 logStore: type: "elasticsearch" 3 elasticsearch: nodeCount: 3 4 storage: storageClassName: gp2 5 size: 200G redundancyPolicy: "SingleRedundancy" visualization: type: "kibana" 6 kibana: replicas: 1 curation: type: "curator" 7 curator: schedule: "30 3 * * *" collection: logs: type: "fluentd" 8 fluentd: {}
- 1
- 名称必须是
instance
。 - 2
- 集群日志记录管理状态。在大多数情况下,如果更改了集群日志记录的默认值,则必须将其设置为
Unmanaged
。但是,非受管部署不接收更新,直到集群日志记录重新变为受管状态为止。如需更多信息,请参阅更改集群日志记录管理状态。 - 3
- 用于配置 Elasticsearch 的设置。通过使用 CR,您可以配置分片复制策略和持久性存储。如需更多信息,请参阅配置 Elasticsearch。
- 4
- 指定 Elasticsearch 节点的数量。请参阅此列表后面的备注。
- 5
- 指定集群中的每个 Elasticsearch 节点都绑定到持久性卷声明。
- 6
- 用于配置 Kibana 的设置。通过使用 CR,您可以扩展 Kibana 来实现冗余性,并为 Kibana 节点配置 CPU 和内存。如需更多信息,请参阅配置 Kibana。
- 7
- 用于配置 Curator 的设置。通过使用 CR,您可以设置 Curator 调度。如需更多信息,请参阅配置 Curator。
- 8
- 用于配置 Fluentd 的设置。通过使用 CR,您可以配置 Fluentd CPU 和内存限值。如需更多信息,请参阅配置 Fluentd。
注意Elasticsearch master 节点的最大数量为三个。如果您将
nodeCount
指定为大于3
,OpenShift Container Platform 只会创建三个符合 Master 节点条件的 Elasticsearch 节点(具有 master、client 和 data 角色)。其余 Elasticsearch 节点创建为“仅数据”节点,使用 client 和 data 角色。Master 节点执行集群范围的操作,如创建或删除索引、分配分片和跟踪节点等。数据节点保管分片,并执行与数据相关的操作,如 CRUD、搜索和聚合等。与数据相关的操作会占用大量 I/O、内存和 CPU。务必要监控这些资源,并在当前节点过载时添加更多数据节点。例如,如果
nodeCount = 4
,则创建以下节点:$ oc get deployment cluster-logging-operator 1/1 1 1 18h elasticsearch-cd-x6kdekli-1 0/1 1 0 6m54s elasticsearch-cdm-x6kdekli-1 1/1 1 1 18h elasticsearch-cdm-x6kdekli-2 0/1 1 0 6m49s elasticsearch-cdm-x6kdekli-3 0/1 1 0 6m44s
索引模板的主分片数量等于 Elasticsearch 数据节点的数目。
- 点击 Create。这将创建集群日志记录自定义资源和 Elasticsearch 自定义资源,您可以通过编辑它们来更改用于集群日志记录的集群。
-
切换到 Administration
验证安装:
-
切换到 Workloads
Pods 页面。 选择 openshift-logging 项目。
您应该会看到几个用于集群日志记录、Elasticsearch、Fluentd 和 Kibana 的 Pod,类似于以下列表:
- cluster-logging-operator-cb795f8dc-xkckc
- elasticsearch-cdm-b3nqzchd-1-5c6797-67kfz
- elasticsearch-cdm-b3nqzchd-2-6657f4-wtprv
- elasticsearch-cdm-b3nqzchd-3-588c65-clg7g
- fluentd-2c7dg
- fluentd-9z7kk
- fluentd-br7r2
- fluentd-fn2sb
- fluentd-pb2f8
- fluentd-zqgqx
- kibana-7fb4fd4cc9-bvt4p
-
切换到 Workloads