日志配置 #
本文档将指导您如何配置日志功能。
什么是日志? #
日志是kwok
配置,允许用户定义和模拟日志到单个 Pod。
下面的 YAML 显示了日志资源的所有字段
kind: Logs
apiVersion: kwok.x-k8s.io/v1alpha1
metadata:
name: <string>
namespace: <string>
spec:
logs:
- containers:
- <string>
logsFile: <string>
follow: <bool>
Pod 的日志模拟设置通过logs
字段指定。logs
字段按组组织,每个组对应于共享相同日志模拟配置的一组容器。每个组由容器名称列表(containers
)和共享模拟设置(logsFile
和follow
)组成。
如果在组中未给出containers
,则该组中的logsFile
和follow
将应用于目标 Pod 的所有容器。
logsFile
字段指定日志的文件路径。如果未设置logsFile
字段,则将忽略此项。follow
字段指定是否关注日志。如果未设置follow
字段,则follow
字段将默认为 false。
ClusterLogs #
除了模拟单个 Pod,用户还可以通过 ClusterLogs 模拟多个 Pod 的日志。
以下 YAML 展示了 ClusterLogs 资源的所有字段
kind: ClusterLogs
apiVersion: kwok.x-k8s.io/v1alpha1
metadata:
name: <string>
spec:
selector:
matchNamespaces:
- <string>
matchNames:
- <string>
logs:
- containers:
- <string>
logsFile: <string>
follow: <bool>
与 Logs 相比,其 metadata.name
和 metadata.namespace
必须与关联的 Pod 匹配,ClusterLogs 有一个额外的 selector
字段,用于指定要模拟的目标 Pod。matchNamespaces
和 matchNames
都表示为列表,旨在按不同级别获取 Pod 集合
- 如果
matchNamespaces
为空,则 ClusterLogs 将应用于由kwok
管理且名称列在matchNames
中的所有 Pod。 - 如果
matchNames
为空,则 ClusterLogs 将应用于由kwok
管理且位于matchNamespaces
中列出的命名空间下的所有 Pod。 - 如果
matchNames
和matchNamespaces
都未设置,则 ClusterLogs 将应用于kwok
管理的所有 Pod。
ClusterLogs 的 logs
字段与 Logs 中的语义相同。