**stable** 通道仅提供对最新日志记录版本的更新。要继续接收先前版本的更新,您必须将订阅通道更改为**stable-x.y**,其中 |
Red Hat OpenShift Service on AWS 运算符使用自定义资源 (CR) 来管理应用程序及其组件。高级配置和设置由用户在 CR 中提供。运算符根据嵌入在运算符逻辑中的最佳实践,将高级指令转换为低级操作。自定义资源定义 (CRD) 定义 CR 并列出运算符用户可用的所有配置。安装运算符会创建 CRD,然后用于生成 CR。
必须在日志存储运算符**之后**安装 Red Hat OpenShift Logging 运算符。 |
您可以通过安装 Loki 运算符或 OpenShift Elasticsearch 运算符来管理日志存储,然后安装 Red Hat OpenShift Logging 运算符来管理日志记录组件来部署日志记录。您可以使用 Red Hat OpenShift Service on AWS Web 控制台或 Red Hat OpenShift Service on AWS CLI 来安装或配置日志记录。
日志记录 5.9 版本不包含 OpenShift Elasticsearch 运算符的更新版本。如果您目前使用的是随日志记录 5.8 发布的 OpenShift Elasticsearch 运算符,它将继续与日志记录一起使用,直到日志记录 5.8 结束生命周期 (EOL)。作为使用 OpenShift Elasticsearch 运算符管理默认日志存储的替代方法,您可以使用 Loki 运算符。有关日志记录生命周期日期的更多信息,请参阅与平台无关的运算符。 |
或者,您可以应用所有示例对象。 |
您可以使用 Red Hat OpenShift Service on AWS Web 控制台来安装 OpenShift Elasticsearch 和 Red Hat OpenShift Logging 运算符。Elasticsearch 是一个内存密集型应用程序。默认情况下,Red Hat OpenShift Service on AWS 会安装三个 Elasticsearch 节点,其内存请求和限制为 16 GB。这最初的三个 Red Hat OpenShift Service on AWS 节点可能没有足够的内存来在您的集群中运行 Elasticsearch。如果您遇到与 Elasticsearch 相关的内存问题,请向您的集群添加更多 Elasticsearch 节点,而不是增加现有节点上的内存。
如果您不想使用默认的 Elasticsearch 日志存储,您可以从 |
确保您拥有 Elasticsearch 的必要持久性存储。请注意,每个 Elasticsearch 节点都需要它自己的存储卷。
如果您使用本地卷进行持久性存储,请不要使用原始块卷,这在 |
要使用 Red Hat OpenShift Service on AWS Web 控制台安装 OpenShift Elasticsearch 运算符和 Red Hat OpenShift Logging 运算符
安装 OpenShift Elasticsearch 运算符
在 Red Hat OpenShift Service on AWS Web 控制台中,单击**运算符** → **OperatorHub**。
从可用运算符列表中选择**OpenShift Elasticsearch 运算符**,然后单击**安装**。
确保在**安装模式**下选择了**集群上的所有命名空间**。
确保在**已安装命名空间**下选择了**openshift-operators-redhat**。
您必须指定 openshift-operators-redhat
命名空间。openshift-operators
命名空间可能包含社区运算符,这些运算符不受信任,并且可能会发布与 Red Hat OpenShift Service on AWS 指标名称相同的指标,这会导致冲突。
选择**在此命名空间上启用运算符推荐的集群监控**。
此选项在命名空间对象中设置 openshift.io/cluster-monitoring: "true"
标签。您必须选择此选项才能确保集群监控会抓取 openshift-operators-redhat
命名空间。
选择**stable-5.y**作为**更新通道**。
**stable** 通道仅提供对最新日志记录版本的更新。要继续接收先前版本的更新,您必须将订阅通道更改为**stable-x.y**,其中 |
选择**审批策略**。
**自动**策略允许运算符生命周期管理器 (OLM) 在有新版本可用时自动更新运算符。
**手动**策略需要具有相应凭据的用户来批准运算符更新。
单击**安装**。
通过切换到**运算符** → **已安装运算符**页面来验证 OpenShift Elasticsearch 运算符是否已安装。
确保所有项目中都列出了**OpenShift Elasticsearch 运算符**,并且**状态**为**成功**。
安装 Red Hat OpenShift Logging 运算符
在 Red Hat OpenShift Service on AWS Web 控制台中,单击**运算符** → **OperatorHub**。
从可用运算符列表中选择**Red Hat OpenShift Logging**,然后单击**安装**。
确保在安装模式下选择了集群上的特定命名空间。
确保推荐的 Operator 命名空间在已安装命名空间下为openshift-logging。
选择**在此命名空间上启用运算符推荐的集群监控**。
此选项在命名空间对象中设置openshift.io/cluster-monitoring: "true"
标签。必须选择此选项才能确保集群监控抓取openshift-logging
命名空间。
选择**stable-5.y**作为**更新通道**。
选择**审批策略**。
**自动**策略允许运算符生命周期管理器 (OLM) 在有新版本可用时自动更新运算符。
**手动**策略需要具有相应凭据的用户来批准运算符更新。
单击**安装**。
通过切换到Operators → Installed Operators页面,验证 Red Hat OpenShift Logging Operator 是否已安装。
确保Red Hat OpenShift Logging列在openshift-logging项目中,且状态为已成功。
如果 Operator 未显示为已安装状态,请进一步排查问题。
切换到Operators → Installed Operators页面,检查状态列中是否存在任何错误或故障。
切换到Workloads → Pods页面,并检查openshift-logging
项目中任何报告问题的 Pod 的日志。
创建 OpenShift Logging 实例
切换到Administration → Custom Resource Definitions页面。
在Custom Resource Definitions页面上,点击ClusterLogging。
在Custom Resource Definition details页面上,从Actions菜单中选择View Instances。
在ClusterLoggings页面上,点击Create ClusterLogging。
您可能需要刷新页面才能加载数据。
在 YAML 字段中,将代码替换为以下内容
此默认的 OpenShift Logging 配置应该支持各种各样的环境。请查看有关调整和配置日志记录组件的主题,以获取有关可以对 OpenShift Logging 集群进行的修改的信息。 |
apiVersion: logging.openshift.io/v1
kind: ClusterLogging
metadata:
name: instance (1)
namespace: openshift-logging
spec:
managementState: Managed (2)
logStore:
type: elasticsearch (3)
retentionPolicy: (4)
application:
maxAge: 1d
infra:
maxAge: 7d
audit:
maxAge: 7d
elasticsearch:
nodeCount: 3 (5)
storage:
storageClassName: <storage_class_name> (6)
size: 200G
resources: (7)
limits:
memory: 16Gi
requests:
memory: 16Gi
proxy: (8)
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
redundancyPolicy: SingleRedundancy
visualization:
type: kibana (9)
kibana:
replicas: 1
collection:
type: fluentd (10)
fluentd: {}
1 | 名称必须为instance 。 |
2 | OpenShift Logging 管理状态。在某些情况下,如果更改 OpenShift Logging 默认值,则必须将其设置为Unmanaged 。但是,未管理的部署在 OpenShift Logging 恢复为已管理状态之前不会接收更新。 |
3 | 配置 Elasticsearch 的设置。使用 CR,您可以配置分片复制策略和持久性存储。 |
4 | 指定 Elasticsearch 应保留每个日志源的时间长度。输入一个整数和一个时间表示:周 (w)、小时 (h/H)、分钟 (m) 和秒 (s)。例如,7d 表示七天。早于maxAge 的日志将被删除。必须为每个日志源指定保留策略,否则不会为该源创建 Elasticsearch 索引。 |
5 | 指定 Elasticsearch 节点的数量。请参阅此列表后面的注释。 |
6 | 输入现有 Elasticsearch 存储的存储类的名称。为了获得最佳性能,请指定分配块存储的存储类。如果未指定存储类,OpenShift Logging 将使用临时存储。 |
7 | 根据需要指定 Elasticsearch 的 CPU 和内存请求。如果保留这些值为空,则 OpenShift Elasticsearch Operator 将设置对于大多数部署都足够的值。默认值为内存请求16Gi 和 CPU 请求1 。 |
8 | 根据需要指定 Elasticsearch 代理的 CPU 和内存请求。如果保留这些值为空,则 OpenShift Elasticsearch Operator 将设置对于大多数部署都足够的值。默认值为内存请求256Mi 和 CPU 请求100m 。 |
9 | 配置 Kibana 的设置。使用 CR,您可以扩展 Kibana 以实现冗余,并为 Kibana 节点配置 CPU 和内存。更多信息,请参见配置日志可视化工具。 |
10 | 配置 Fluentd 的设置。使用 CR,您可以配置 Fluentd CPU 和内存限制。更多信息,请参见“配置 Fluentd”。 |
主节点的最大数量为三个。如果指定的 例如,如果
示例输出
|
点击创建。这将创建日志组件、Elasticsearch
自定义资源和组件以及 Kibana 接口。
验证安装
切换到Workloads → Pods页面。
选择openshift-logging项目。
您应该看到 OpenShift Logging、Elasticsearch、收集器和 Kibana 的多个 Pod,类似于以下列表:
cluster-logging-operator-66f77ffccb-ppzbg 1/1 Running 0 7m
elasticsearch-cdm-ftuhduuw-1-ffc4b9566-q6bhp 2/2 Running 0 2m40s
elasticsearch-cdm-ftuhduuw-2-7b4994dbfc-rd2gc 2/2 Running 0 2m36s
elasticsearch-cdm-ftuhduuw-3-84b5ff7ff8-gqnm2 2/2 Running 0 2m4s
collector-587vb 1/1 Running 0 2m26s
collector-7mpb9 1/1 Running 0 2m30s
collector-flm6j 1/1 Running 0 2m33s
collector-gn4rn 1/1 Running 0 2m26s
collector-nlgb6 1/1 Running 0 2m30s
collector-snpkt 1/1 Running 0 2m28s
kibana-d6d5668c5-rppqm 2/2 Running 0 2m39s
Elasticsearch 是一个内存密集型应用程序。默认情况下,Red Hat OpenShift Service on AWS 安装三个 Elasticsearch 节点,内存请求和限制为 16 GB。这最初的三个 Red Hat OpenShift Service on AWS 节点可能没有足够的内存来在您的集群中运行 Elasticsearch。如果遇到与 Elasticsearch 相关的内存问题,请向集群添加更多 Elasticsearch 节点,而不是增加现有节点上的内存。
确保您拥有 Elasticsearch 的必要持久性存储。请注意,每个 Elasticsearch 节点都需要它自己的存储卷。
如果您使用本地卷进行持久性存储,请不要使用原始块卷,这在 |
为 OpenShift Elasticsearch Operator 创建一个Namespace
对象
Namespace
对象的示例apiVersion: v1
kind: Namespace
metadata:
name: openshift-operators-redhat (1)
annotations:
openshift.io/node-selector: ""
labels:
openshift.io/cluster-monitoring: "true" (2)
1 | 您必须指定 openshift-operators-redhat 命名空间。openshift-operators 命名空间可能包含社区运算符,这些运算符不受信任,并且可能会发布与 Red Hat OpenShift Service on AWS 指标名称相同的指标,这会导致冲突。 |
2 | 一个字符串值,指定如所示的标签,以确保集群监控抓取openshift-operators-redhat 命名空间。 |
通过运行以下命令应用Namespace
对象:
$ oc apply -f <filename>.yaml
为 Red Hat OpenShift Logging Operator 创建一个Namespace
对象
Namespace
对象的示例apiVersion: v1
kind: Namespace
metadata:
name: openshift-logging (1)
annotations:
openshift.io/node-selector: ""
labels:
openshift.io/cluster-monitoring: "true"
1 | 对于 5.7 和更早版本的日志记录,必须指定openshift-logging 作为命名空间。对于 5.8 和更高版本的日志记录,您可以使用任何命名空间。 |
通过运行以下命令应用Namespace
对象:
$ oc apply -f <filename>.yaml
为 OpenShift Elasticsearch Operator 创建一个OperatorGroup
对象
OperatorGroup
对象的示例apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: openshift-operators-redhat
namespace: openshift-operators-redhat (1)
spec: {}
1 | 必须指定openshift-operators-redhat 命名空间。 |
通过运行以下命令应用OperatorGroup
对象:
$ oc apply -f <filename>.yaml
创建一个Subscription
对象,以将命名空间订阅到 OpenShift Elasticsearch Operator
**stable** 通道仅提供对最新日志记录版本的更新。要继续接收先前版本的更新,您必须将订阅通道更改为**stable-x.y**,其中 |
Subscription
对象的示例apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: elasticsearch-operator
namespace: openshift-operators-redhat (1)
spec:
channel: <channel> (2)
installPlanApproval: Automatic (3)
source: redhat-operators (4)
sourceNamespace: openshift-marketplace
name: elasticsearch-operator
1 | 必须指定openshift-operators-redhat 命名空间。 |
2 | 指定stable 或stable-<x.y> 作为通道。 |
3 | Automatic 允许 Operator Lifecycle Manager (OLM)在有新版本可用时自动更新 Operator。Manual 需要具有相应凭据的用户批准 Operator 更新。 |
4 | 指定redhat-operators 。如果您的 Red Hat OpenShift Service on AWS 集群安装在受限网络(也称为断开连接的集群)上,请指定在配置 Operator Lifecycle Manager (OLM)时创建的CatalogSource 对象的名称。 |
通过运行以下命令应用订阅:
$ oc apply -f <filename>.yaml
通过运行以下命令验证 Operator 安装:
$ oc get csv --all-namespaces
NAMESPACE NAME DISPLAY VERSION REPLACES PHASE
default elasticsearch-operator.v5.8.3 OpenShift Elasticsearch Operator 5.8.3 elasticsearch-operator.v5.8.2 Succeeded
kube-node-lease elasticsearch-operator.v5.8.3 OpenShift Elasticsearch Operator 5.8.3 elasticsearch-operator.v5.8.2 Succeeded
kube-public elasticsearch-operator.v5.8.3 OpenShift Elasticsearch Operator 5.8.3 elasticsearch-operator.v5.8.2 Succeeded
kube-system elasticsearch-operator.v5.8.3 OpenShift Elasticsearch Operator 5.8.3 elasticsearch-operator.v5.8.2 Succeeded
openshift-apiserver-operator elasticsearch-operator.v5.8.3 OpenShift Elasticsearch Operator 5.8.3 elasticsearch-operator.v5.8.2 Succeeded
openshift-apiserver elasticsearch-operator.v5.8.3 OpenShift Elasticsearch Operator 5.8.3 elasticsearch-operator.v5.8.2 Succeeded
openshift-authentication-operator elasticsearch-operator.v5.8.3 OpenShift Elasticsearch Operator 5.8.3 elasticsearch-operator.v5.8.2 Succeeded
openshift-authentication elasticsearch-operator.v5.8.3 OpenShift Elasticsearch Operator 5.8.3 elasticsearch-operator.v5.8.2 Succeeded
openshift-cloud-controller-manager-operator elasticsearch-operator.v5.8.3 OpenShift Elasticsearch Operator 5.8.3 elasticsearch-operator.v5.8.2 Succeeded
openshift-cloud-controller-manager elasticsearch-operator.v5.8.3 OpenShift Elasticsearch Operator 5.8.3 elasticsearch-operator.v5.8.2 Succeeded
openshift-cloud-credential-operator elasticsearch-operator.v5.8.3 OpenShift Elasticsearch Operator 5.8.3 elasticsearch-operator.v5.8.2 Succeeded
为 Red Hat OpenShift Logging Operator 创建一个OperatorGroup
对象
OperatorGroup
对象的示例apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: cluster-logging
namespace: openshift-logging (1)
spec:
targetNamespaces:
- openshift-logging (2)
1 | 对于 5.7 和更早版本的日志记录,必须指定openshift-logging 作为命名空间。对于 5.8 和更高版本的日志记录,您可以使用任何命名空间。 |
2 | 对于 5.7 和更早版本的日志记录,必须指定openshift-logging 作为命名空间。对于 5.8 和更高版本的日志记录,您可以使用任何命名空间。 |
通过运行以下命令应用OperatorGroup
对象:
$ oc apply -f <filename>.yaml
创建一个Subscription
对象,以将命名空间订阅到 Red Hat OpenShift Logging Operator
Subscription
对象的示例apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: cluster-logging
namespace: openshift-logging (1)
spec:
channel: stable (2)
name: cluster-logging
source: redhat-operators (3)
sourceNamespace: openshift-marketplace
1 | 对于 5.7 及更早版本的日志记录,必须指定openshift-logging 命名空间。对于 5.8 及更高版本的日志记录,您可以使用任何命名空间。 |
2 | 指定stable 或stable-x.y 作为通道。 |
3 | 指定redhat-operators 。如果您的 Red Hat OpenShift Service on AWS 集群安装在受限网络(也称为断开连接的集群)上,请指定在配置 Operator Lifecycle Manager (OLM)时创建的CatalogSource 对象的名称。 |
通过运行以下命令应用subscription
对象:
$ oc apply -f <filename>.yaml
创建一个ClusterLogging
对象作为 YAML 文件
ClusterLogging
对象的示例apiVersion: logging.openshift.io/v1
kind: ClusterLogging
metadata:
name: instance (1)
namespace: openshift-logging
spec:
managementState: Managed (2)
logStore:
type: elasticsearch (3)
retentionPolicy: (4)
application:
maxAge: 1d
infra:
maxAge: 7d
audit:
maxAge: 7d
elasticsearch:
nodeCount: 3 (5)
storage:
storageClassName: <storage_class_name> (6)
size: 200G
resources: (7)
limits:
memory: 16Gi
requests:
memory: 16Gi
proxy: (8)
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
redundancyPolicy: SingleRedundancy
visualization:
type: kibana (9)
kibana:
replicas: 1
collection:
type: fluentd (10)
fluentd: {}
1 | 名称必须为instance 。 |
2 | OpenShift Logging 管理状态。在某些情况下,如果更改 OpenShift Logging 默认值,则必须将其设置为Unmanaged 。但是,未管理的部署在 OpenShift Logging 恢复为已管理状态之前不会接收更新。 |
3 | 配置 Elasticsearch 的设置。使用 CR,您可以配置分片复制策略和持久性存储。 |
4 | 指定 Elasticsearch 应保留每个日志源的时间长度。输入一个整数和一个时间表示:周 (w)、小时 (h/H)、分钟 (m) 和秒 (s)。例如,7d 表示七天。早于maxAge 的日志将被删除。必须为每个日志源指定保留策略,否则不会为该源创建 Elasticsearch 索引。 |
5 | 指定 Elasticsearch 节点的数量。 |
6 | 输入现有 Elasticsearch 存储的存储类的名称。为了获得最佳性能,请指定分配块存储的存储类。如果未指定存储类,OpenShift Logging 将使用临时存储。 |
7 | 根据需要指定 Elasticsearch 的 CPU 和内存请求。如果保留这些值为空,则 OpenShift Elasticsearch Operator 将设置对于大多数部署都足够的值。默认值为内存请求16Gi 和 CPU 请求1 。 |
8 | 根据需要指定 Elasticsearch 代理的 CPU 和内存请求。如果保留这些值为空,则 OpenShift Elasticsearch Operator 将设置对于大多数部署都足够的值。默认值为内存请求256Mi 和 CPU 请求100m 。 |
9 | 配置 Kibana 的设置。使用 CR,您可以扩展 Kibana 以实现冗余,并为 Kibana 节点配置 CPU 和内存。 |
10 | 配置 Fluentd 的设置。使用 CR,您可以配置 Fluentd 的 CPU 和内存限制。 |
主节点的最大数量为三个。如果指定的 例如,如果
示例输出
|
运行以下命令应用ClusterLogging
CR
$ oc apply -f <filename>.yaml
运行以下命令验证安装
$ oc get pods -n openshift-logging
NAME READY STATUS RESTARTS AGE
cluster-logging-operator-66f77ffccb-ppzbg 1/1 Running 0 7m
elasticsearch-cdm-ftuhduuw-1-ffc4b9566-q6bhp 2/2 Running 0 2m40s
elasticsearch-cdm-ftuhduuw-2-7b4994dbfc-rd2gc 2/2 Running 0 2m36s
elasticsearch-cdm-ftuhduuw-3-84b5ff7ff8-gqnm2 2/2 Running 0 2m4s
collector-587vb 1/1 Running 0 2m26s
collector-7mpb9 1/1 Running 0 2m30s
collector-flm6j 1/1 Running 0 2m33s
collector-gn4rn 1/1 Running 0 2m26s
collector-nlgb6 1/1 Running 0 2m30s
collector-snpkt 1/1 Running 0 2m28s
kibana-d6d5668c5-rppqm 2/2 Running 0 2m39s
如果 s3 存储桶或 LokiStack 自定义资源 (CR) 中未定义保留期限,则日志不会被修剪,它们会永久保留在 s3 存储桶中,这可能会填满 s3 存储空间。 |
要在您的 Red Hat OpenShift Service on AWS 集群上安装和配置日志记录,必须首先安装一个 Operator,例如用于日志存储的 Loki Operator。这可以通过 Red Hat OpenShift Service on AWS CLI 完成。
您拥有管理员权限。
您已安装 OpenShift CLI (oc
)。
您可以访问受支持的对象存储。例如:AWS S3、Google Cloud Storage、Azure、Swift、Minio 或 OpenShift Data Foundation。
**stable** 通道仅提供对最新日志记录版本的更新。要继续接收先前版本的更新,您必须将订阅通道更改为**stable-x.y**,其中 |
为 Loki Operator 创建一个Namespace
对象
Namespace
对象的示例apiVersion: v1
kind: Namespace
metadata:
name: openshift-operators-redhat (1)
annotations:
openshift.io/node-selector: ""
labels:
openshift.io/cluster-monitoring: "true" (2)
1 | 您必须指定openshift-operators-redhat 命名空间。为了避免与指标发生冲突,您应该配置 Prometheus 集群监控堆栈以从openshift-operators-redhat 命名空间而不是openshift-operators 命名空间抓取指标。openshift-operators 命名空间可能包含社区 Operator,这些 Operator 未经信任,可能会发布与 Red Hat OpenShift Service on AWS 指标同名的指标,这会导致冲突。 |
2 | 一个字符串值,指定如所示的标签,以确保集群监控抓取openshift-operators-redhat 命名空间。 |
通过运行以下命令应用Namespace
对象:
$ oc apply -f <filename>.yaml
为 Loki Operator 创建一个Subscription
对象
Subscription
对象的示例apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: loki-operator
namespace: openshift-operators-redhat (1)
spec:
channel: stable (2)
name: loki-operator
source: redhat-operators (3)
sourceNamespace: openshift-marketplace
1 | 必须指定openshift-operators-redhat 命名空间。 |
2 | 指定stable 或stable-5.<y> 作为通道。 |
3 | 指定redhat-operators 。如果您的 Red Hat OpenShift Service on AWS 集群安装在受限网络(也称为断开连接的集群)上,请指定在配置 Operator Lifecycle Manager (OLM)时创建的CatalogSource 对象的名称。 |
运行以下命令应用Subscription
对象
$ oc apply -f <filename>.yaml
为 Red Hat OpenShift Logging Operator 创建一个namespace
对象
namespace
对象示例apiVersion: v1
kind: Namespace
metadata:
name: openshift-logging (1)
annotations:
openshift.io/node-selector: ""
labels:
openshift.io/cluster-logging: "true"
openshift.io/cluster-monitoring: "true" (2)
1 | Red Hat OpenShift Logging Operator 只能部署到openshift-logging 命名空间。 |
2 | 一个字符串值,指定如所示的标签,以确保集群监控抓取openshift-operators-redhat 命名空间。 |
运行以下命令应用namespace
对象
$ oc apply -f <filename>.yaml
创建一个OperatorGroup
对象
OperatorGroup
对象的示例apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: cluster-logging
namespace: openshift-logging (1)
spec:
targetNamespaces:
- openshift-logging
1 | 您必须指定openshift-logging 命名空间。 |
通过运行以下命令应用OperatorGroup
对象:
$ oc apply -f <filename>.yaml
创建一个Subscription
对象
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: cluster-logging
namespace: openshift-logging (1)
spec:
channel: stable (2)
name: cluster-logging
source: redhat-operators (3)
sourceNamespace: openshift-marketplace
1 | 您必须指定openshift-logging 命名空间。 |
2 | 指定stable 或stable-5.<y> 作为通道。 |
3 | 指定redhat-operators 。如果您的 Red Hat OpenShift Service on AWS 集群安装在受限网络(也称为断开连接的集群)上,请指定在配置 Operator Lifecycle Manager (OLM) 时创建的 CatalogSource 对象的名称。 |
运行以下命令应用Subscription
对象
$ oc apply -f <filename>.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 | 指定您的日志存储密钥的名称。 |
5 | 指定相应的存储类型。 |
6 | 可选字段,日志记录 5.9 及更高版本。支持用户配置的值如下:static 是所有受支持的对象存储类型使用的默认身份验证模式,使用存储在 Secret 中的凭据。token 用于从凭据源检索的短期令牌。在此模式下,静态配置不包含对象存储所需的凭据。相反,它们是在运行时使用服务生成的,这允许使用更短寿命的凭据和更细粒度的控制。此身份验证模式并非所有对象存储类型都支持。token-cco 是 Loki 在托管 STS 模式下运行并在 STS/WIF 集群上使用 CCO 时的默认值。 |
7 | 指定临时存储的存储类的名称。为了获得最佳性能,请指定分配块存储的存储类。可以使用oc get storageclasses 命令列出集群可用的存储类。 |
8 | LokiStack 默认以多租户模式运行,无法修改。每个日志类型提供一个租户:审计日志、基础设施日志和应用程序日志。这允许对各个用户和用户组访问不同的日志流。 |
运行以下命令应用LokiStack CR
对象
$ oc apply -f <filename>.yaml
创建一个ClusterLogging
CR 对象
apiVersion: logging.openshift.io/v1
kind: ClusterLogging
metadata:
name: instance (1)
namespace: openshift-logging (2)
spec:
collection:
type: vector
logStore:
lokistack:
name: logging-loki
retentionPolicy:
application:
maxAge: 7d
audit:
maxAge: 7d
infra:
maxAge: 7d
type: lokistack
visualization:
type: ocp-console
ocpConsole:
logsLimit: 15
managementState: Managed
1 | 名称必须为instance 。 |
2 | 命名空间必须为openshift-logging 。 |
运行以下命令应用ClusterLogging CR
对象
$ oc apply -f <filename>.yaml
运行以下命令验证安装
$ oc get pods -n openshift-logging
$ oc get pods -n openshift-logging
NAME READY STATUS RESTARTS AGE
cluster-logging-operator-fb7f7cf69-8jsbq 1/1 Running 0 98m
collector-222js 2/2 Running 0 18m
collector-g9ddv 2/2 Running 0 18m
collector-hfqq8 2/2 Running 0 18m
collector-sphwg 2/2 Running 0 18m
collector-vv7zn 2/2 Running 0 18m
collector-wk5zz 2/2 Running 0 18m
logging-view-plugin-6f76fbb78f-n2n4n 1/1 Running 0 18m
lokistack-sample-compactor-0 1/1 Running 0 42m
lokistack-sample-distributor-7d7688bcb9-dvcj8 1/1 Running 0 42m
lokistack-sample-gateway-5f6c75f879-bl7k9 2/2 Running 0 42m
lokistack-sample-gateway-5f6c75f879-xhq98 2/2 Running 0 42m
lokistack-sample-index-gateway-0 1/1 Running 0 42m
lokistack-sample-ingester-0 1/1 Running 0 42m
lokistack-sample-querier-6b7b56bccc-2v9q4 1/1 Running 0 42m
lokistack-sample-query-frontend-84fb57c578-gq2f7 1/1 Running 0 42m
要在您的 Red Hat OpenShift Service on AWS 集群上安装和配置日志记录,必须首先安装一个 Operator,例如用于日志存储的 Loki Operator。这可以通过 Web 控制台中的 OperatorHub 完成。
您可以访问受支持的对象存储(AWS S3、Google Cloud Storage、Azure、Swift、Minio、OpenShift Data Foundation)。
您拥有管理员权限。
您可以访问 Red Hat OpenShift Service on AWS Web 控制台。
在 Red Hat OpenShift Service on AWS Web 控制台的**管理员**视角中,转到**Operators** → **OperatorHub**。
在**按关键字筛选**字段中键入 Loki Operator。单击可用 Operators 列表中的**Loki Operator**,然后单击**Install**。
Red Hat 不支持社区 Loki Operator。 |
选择**stable**或**stable-x.y**作为**更新通道**。
**stable** 通道仅提供对最新日志记录版本的更新。要继续接收先前版本的更新,您必须将订阅通道更改为**stable-x.y**,其中 |
Loki Operator 必须部署到全局 Operator 组命名空间openshift-operators-redhat
,因此**安装模式**和**已安装命名空间**已预先选择。如果此命名空间尚不存在,则会为您创建。
选择**在此命名空间上启用 Operator 建议的集群监控。**
此选项在Namespace
对象中设置openshift.io/cluster-monitoring: "true"
标签。您必须选择此选项才能确保集群监控抓取openshift-operators-redhat
命名空间。
对于**更新批准**,请选择**自动**,然后单击**安装**。
如果订阅中的批准策略设置为**自动**,则一旦所选通道中出现新的 Operator 版本,更新过程就会立即启动。如果批准策略设置为**手动**,则必须手动批准待处理的更新。
安装 Red Hat OpenShift Logging Operator
在 Red Hat OpenShift Service on AWS Web 控制台中,单击**运算符** → **OperatorHub**。
从可用 Operators 列表中选择**Red Hat OpenShift Logging**,然后单击**Install**。
确保在安装模式下选择了集群上的特定命名空间。
确保推荐的 Operator 命名空间在已安装命名空间下为openshift-logging。
选择**在此命名空间上启用运算符推荐的集群监控**。
此选项在命名空间对象中设置openshift.io/cluster-monitoring: "true"
标签。必须选择此选项才能确保集群监控抓取openshift-logging
命名空间。
选择**stable-5.y**作为**更新通道**。
选择**审批策略**。
**自动**策略允许运算符生命周期管理器 (OLM) 在有新版本可用时自动更新运算符。
**手动**策略需要具有相应凭据的用户来批准运算符更新。
单击**安装**。
转到**Operators** → **已安装 Operators**页面。单击**所有实例**选项卡。
从**创建新的**下拉列表中,选择**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 | 指定您的日志存储密钥的名称。 |
5 | 指定相应的存储类型。 |
6 | 可选字段,日志记录 5.9 及更高版本。支持用户配置的值如下:static 是所有受支持的对象存储类型使用的默认身份验证模式,使用存储在 Secret 中的凭据。token 用于从凭据源检索的短期令牌。在此模式下,静态配置不包含对象存储所需的凭据。相反,它们是在运行时使用服务生成的,这允许使用更短寿命的凭据和更细粒度的控制。此身份验证模式并非所有对象存储类型都支持。token-cco 是 Loki 在托管 STS 模式下运行并在 STS/WIF 集群上使用 CCO 时的默认值。 |
7 | 指定临时存储的存储类的名称。为了获得最佳性能,请指定分配块存储的存储类。可以使用oc get storageclasses 命令列出集群可用的存储类。 |
8 | LokiStack 默认以多租户模式运行,无法修改。每个日志类型提供一个租户:审计日志、基础设施日志和应用程序日志。这允许对各个用户和用户组访问不同的日志流。 |
无法更改部署规模的数字 |
单击**创建**。
创建 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
retentionPolicy:
application:
maxAge: 7d
audit:
maxAge: 7d
infra:
maxAge: 7d
type: lokistack
visualization:
type: ocp-console
ocpConsole:
logsLimit: 15
managementState: Managed
1 | 名称必须为instance 。 |
2 | 命名空间必须为openshift-logging 。 |
转到**Operators** → **已安装 Operators**。
确保选择了**openshift-logging**项目。
在**状态**列中,验证您是否看到带有**InstallSucceeded**和文本**已更新**的绿色勾号。
在安装完成之前,Operator 可能显示 |