Kubernetes 集群

产品文档

Kubernetes 集群

集群日志

概述

  • 京东云为Kubernetes集群提供了系统日志,用户日志和容器实时日志三种类型日志,其中系统日志和用户日志与日志服务进行了集成,方便用户多维度查询,检索与分析,为日常运维和管理提供了有效的支持。

系统日志

京东云Kubernetes集群作为托管集群,Master节点上的服务例如kube-apiserver,kube-controller-manager都是以托管形式运行的。用户在实际管理自己的kubernetes业务时,都是通过Kubernetes API server来执行的。为此我们提供了系统日志功能来帮助用户更好地了解Kubernetes集群运行状态。

查看系统日志

系统日志不需要用户在Kubernetes集群做任何操作,默认所有新建Kubernetes集群会将系统日志发送到日志服务后端。用户可以随时在日志服务中查看。具体操作步骤如下

  1. 进入日志集管理页面,选择已创建的日志集,点击“查看”按钮,进入日志详情页面,选择采集配置“未配置”状态日志主题,点击“采集配置”按钮,进入采集配置页面。
  2. 点击“添加采集配置”按钮,进入添加采集配置页面.
  3. 选择所属产品 (Kubernetes集群)、日志类型 (系统日志),采集实例“全部实例”或 “选择实例”,点击“保存”即完成采集配置的设置。
  • 全部实例:用户该产品所有区域的全部实例都进行采集,包括后续新增的实例都将自动采集。
  • 选择实例:选择部分实例,可将你关注的实例进行采集,最多可添加20个实例。
    关于日志服务的更多操作细节可以访问日志服务帮助文档

系统日志模块

系统日志包含以下模块

模块名称 描述
kube-apiserver Kubernetes API server
kube-proxy-master Master节点上的网络代理服务
kube-scheduler Kubernetes调度器
kube-controller-manager 管理控制器
scheduler-extender 调度器扩展
etcd 提供Kubernetes元数据存储
dockerd docker daemon
kubelet 管理节点上的容器的服务

系统日志Metadata含义

字段名 含义
cluster_id 集群id
region_id 地域id
source 日志文件名称
stream 输出设备
severity 日志级别
time 日志时间戳
file 采集日志的模块名称
originalMsg 日志原文
appName 应用标识
container_image 容器镜像
container_name 容器名称
host 主机名
namespace_name 命名空间名称
pod_id pod id
pod_name pod名称

用户日志

用户日志功能打开后,部署在工作节点上的agent会采集所有运行在工作节点组上的容器内标准输出的日志并转发到日志服务端,用户可以在日志服务端查询分析相关日志。

创建支持用户日志的Kubernetes集群

1.登录控制台,在左侧菜单选择【弹性计算】-【Kubernetes集群】,点击进入Kubernetes集群列表页;
2.点击【创建】按钮,进入集群创建页面;
3.在集群信息中,确定开启日志服务;
4.完成其他集群必填信息配置后,点击【确定】按钮进入集群创建流程;
5.对应集群的日志服务集k8s-log-{ClusterID}会自动创建,ClusterID 表示新建的 Kubernetes 集群的唯一标识

开启关闭Kubernetes集群用户日志

集群创建完成后,您可以在控制台关闭或重新开启集群用户日志。集群用户日志关闭后,已存储的日志不受影响,重新打开后,新的日志会继续发送到对应的日志集。

1.登录控制台,在左侧菜单选择【弹性计算】-【Kubernetes集群】-【集群名称】,点击进入Kubernetes集群详情页;
2.在详情页选择日志服务,点击关闭或开启Kubernetes集群用户日志;

查看用户日志

用户开启Kubernetes集群日志服务后,对应集群的日志服务集k8s-log-{ClusterID}会自动创建,用户可以在日志服务中查看。

1.登录京东云控制台,在左侧菜单选择【管理】-【日志服务】,进入日志集管理页面。
2.选择Kubernetes集群所对应的地域,在日志集列表中找到名称为k8s-log-{ClusterID}的日志集,ClusterID 表示新建的 Kubernetes 集群的唯一标识。
3.点击日志集进入日志主题页面,选择希望查看的日志主题,点击检索进行查看。

关于日志服务的更多操作细节可以访问日志服务帮助文档

用户日志Metadata含义

字段名 含义
pin 用户标识
logtopicUID 日志主题ID
stream 输出设备
timestamp 日志时间
az 可用区
cluster_id 集群ID
container_name 容器名称
host_name node节点主机名
instance_id node节点虚机id
instance_name node节点虚机名称
logtype 日志类型{系统,用户}
namespace_name 命名空间名称
object_name k8s对象名称,如pod name
region_id 地域
serverity 日志级别
source 日志文件名称
content 日志原文

用户日志采集Agent限制说明

文件采集限制

分类 限制说明
分类 限制说明
文件编码 utf-8
日志文件大小 max size=100MB
日志文件轮转 max files=5
日志解析阻塞时采集行为 丢弃
软链接 支持
单条日志大小 max size=32k
同一文件对应多个采集配置 不支持
文件打开行为 单写多读
首次日志采集行为 有db保存Pos, 会从新偏移采集日志
非标准文本日志 不支持

资源、性能限制

分类 限制说明
日志处理吞吐能力 单节点2MB/s
监控目录数 2个根目录
监控文件数 k8s 最大Pod数目 X Pod中最大容器数
默认资源限制 后端限制

错误处理限制

分类 限制说明
网络错误处理 有限重试
资源配额超限处理 监控报警
超时最大尝试时间 5s
网络错误处理 有限重试

其他限制

1.目前用户日志暂不支持定制化采集,打开日志服务后,默认所有用户容器内标准输出的内容都会被采集。用户在部署业务时,可以将业务日志重定向到stdout stderr
2.不支持sidecar模式
3.不支持在非京东云托管集群运行日志采集agent
4.1.8版本的Kubernetes托管集群不支持日志功能,建议用户尽快升级到更新的版本

容器实时日志

除了系统日志和用户日志,Kubernetes集群还提供控制台功能查看容器实时日志,类似于kubectl logs。

查看容器实时日志

1.登录控制台,在左侧菜单选择【弹性计算】-【Kubernetes集群】-【Workloads】-【Pod】,点击进入Pod详情页;
2.在详情页tab栏选择【Container】进入容器列表,选择要查看的容器点击进入Container详情页
3.在Container详情页tag栏选择【日志】,进入容器日志页面
4.在容器日志页面中,选择容器,时间间隔,日志输出行数和最大日志字节数,点击【查询】既可以在下方窗口看到容器日志

更新时间:2019-11-01 10:55:53