7.4. 使用 web 控制台安装 Logging 和 Loki Operator
要在 OpenShift Container Platform 集群上安装和配置日志记录,需要首先安装用于日志存储的 Operator,如 Loki Operator。这可以通过 web 控制台中的 OperatorHub 完成。
先决条件
- 您可以访问受支持的对象存储 (AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation)。
- 有管理员权限。
- 访问 OpenShift Container Platform web 控制台。
流程
-
在 OpenShift Container Platform Web 控制台 Administrator 视角中,进入 Operators
OperatorHub。 在 Filter by keyword 字段中输入 Loki Operator。点可用 Operator 列表中的 Loki Operator,然后点 Install。
重要红帽不支持社区版本的 Loki Operator。
选择 stable 或 stable-x.y 作为 更新频道。
注意stable 频道只为日志记录的最新版本提供更新。要继续获得之前版本的更新,您必须将订阅频道改为 stable-x.y,其中
x.y
代表您安装的日志记录的主版本和次版本。例如,stable-5.7。Loki Operator 必须部署到全局 operator 组命名空间
openshift-operators-redhat
,因此已选择了 Installation mode 和 Installed Namespace。如果此命名空间不存在,则会为您创建它。选择 Enable Operator recommended cluster monitoring on this namespace。
这个选项在
Namespace
对象中设置openshift.io/cluster-monitoring: "true"
标签。您必须设置这个选项,以确保集群监控提取openshift-operators-redhat
命名空间。对于 Update approval,请选择 Automatic,然后点 Install。
如果订阅中的批准策略被设置为 Automatic,则更新过程会在所选频道中提供新的 Operator 版本时立即启动。如果批准策略设为 Manual,则必须手动批准待处理的更新。
安装 Red Hat OpenShift Logging Operator:
-
在 OpenShift Container Platform Web 控制台中,点击 Operators
OperatorHub。 - 从可用的 Operator 列表中选择 Red Hat OpenShift Logging,然后点 Install。
- 确定在 Installation Mode 下选择了 A specific namespace on the cluster。
- 确定在 Installed Namespace 下的 Operator recommended namespace 是 openshift-logging。
选择 Enable Operator recommended cluster monitoring on this namespace。
这个选项在 Namespace 对象中设置
openshift.io/cluster-monitoring: "true"
标识。您必须选择这个选项,以确保集群监控提取openshift-logging
命名空间。- 选择 stable-5.y 作为 更新频道。
选择一个批准策略。
- Automatic 策略允许 Operator Lifecycle Manager(OLM)在有新版本可用时自动更新 Operator。
- Manual 策略需要拥有适当凭证的用户批准 Operator 更新。
- 点 Install。
-
在 OpenShift Container Platform Web 控制台中,点击 Operators
-
进入 Operators
Installed Operators 页面。点 All instances 选项卡。 - 在 Create new 下拉列表中,选择 LokiStack。
选择 YAML 视图,然后使用以下模板来创建
LokiStack
CR:LokiStack
CR 示例apiVersion: loki.grafana.com/v1 kind: LokiStack metadata: name: logging-loki 1 namespace: openshift-logging 2 spec: size: 1x.small 3 storage: schemas: - version: v13 effectiveDate: "<yyyy>-<mm>-<dd>" secret: name: logging-loki-s3 4 type: s3 5 credentialMode: 6 storageClassName: <storage_class_name> 7 tenants: mode: openshift-logging 8
- 1
- 使用名称
logging-loki
。 - 2
- 您必须指定
openshift-logging
命名空间。 - 3
- 指定部署大小。在日志记录 5.8 及更新的版本中,Loki 实例支持的大小选项为
1x.extra-small
、1x.small
或1x.medium
。 - 4
- 指定日志存储 secret 的名称。
- 5
- 指定对应的存储类型。
- 6
- 可选字段,日志记录 5.9 及更新的版本。支持的用户配置值如下:对于所有被支持的对象存储,静态(static) 是默认的身份验证模式,它使用存储在 Secret 中的凭证。令牌用于从一个凭证源中获取的短生命令牌。在这个模式中,静态配置不包含对象存储所需的凭证。相反,它们会使用服务在运行时生成,允许提供较短的凭证,以及更精细的控制。这个身份验证模式并没有为所有对象存储提供。对于在受管 STS 模式中运行的 Loki, token-cco 是默认值,在 STS/WIF 集群中使用 CCO。
- 7
- 为临时存储指定存储类的名称。为获得最佳性能,请指定分配块存储的存储类。可以使用
oc get storageclasses
命令列出集群的可用存储类。 - 8
- LokiStack 默认为以多租户模式运行,无法修改。为每个日志类型提供一个租户: audit、infrastructure 和 application logs。这为单个用户和用户组启用对不同的日志流的访问控制。
重要对于部署大小,无法更改
1x
值。- 点 Create。
创建 OpenShift Logging 实例:
-
切换到 Administration
Custom Resource Definitions 页面。 - 在 Custom Resource Definitions 页面上,点 ClusterLogging。
- 在 Custom Resource Definition details 页中,从 Actions 菜单中选择 View Instances。
在 ClusterLoggings 页中,点 Create ClusterLogging。
您可能需要刷新页面来加载数据。
将 YAML 项中的代码替换为以下内容:
apiVersion: logging.openshift.io/v1 kind: ClusterLogging metadata: name: instance 1 namespace: openshift-logging 2 spec: collection: type: vector logStore: lokistack: name: logging-loki type: lokistack visualization: type: ocp-console ocpConsole: logsLimit: 15 managementState: Managed
-
切换到 Administration
验证
-
进入 Operators
Installed Operators。 - 确保已选中 openshift-logging 项目。
- 在 Status 列中,验证您看到了绿色的对勾标记,并为 InstallSucceeded,文本 Up to date。
Operator 可能会在安装完成前显示 Failed
状态。如果 Operator 安装完成并显示 InstallSucceeded
信息,请刷新页面。