第3章 Kubernetes监控与日志

Kubernetes监控与日志

• 查看集群资源状况

• 监控集群资源利用率

• 管理K8s组件日志

• 管理K8s应用日志

• 收集K8s日志思路

3.1查看资源集群状态

复制代码
查看master组件状态:
kubectl get cs
查看node状态:
kubectl get node
查看Apiserver代理的URL:
kubectl cluster-info
查看集群详细信息:
kubectl cluster-info dump
查看资源信息:
kubectl describe <资源> <名称>
查看资源信息:
kubectl get <资源>
复制代码

3.2监控集群资源利用率

查看Node资源消耗:
Kubectl  top node <node name>
查看pod资源消耗:
Kubectl  top pod <pod name>
执行时会提示错误:error: Metrics API not available
这是因为这个命令需要由metric-server服务提供数据,而这个服务默认没有安装,还需要手动部署下
3.2.1 Metrics-server 工作流程图

Metric Server是一个集群范围的资源利用情况的数据聚合器。作为一个应用部署在集群中。Metric server从每个节点上kubelet API收集指标,通过kubernetes聚合器注册在Master APIServers中。为集群提供Node,Pods资源利用率指标:项目地址:https://github.com/kubernetes-sigs/metrics-server

3.2.2Metrics-server 资源监控指标部署

# wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml

复制代码
# vi components.yaml
...
containers:
- args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --kubelet-insecure-tls
image: lizhenliang/metrics-server:v0.4.1
...
增加一个kubelet-insecure-tls参数,这个参数作用是告诉metrics-server不验证kubelet提供的https证书
检查是否部署成功:
kubectl get apiservices |grep metrics
kubectl get --raw /apis/metrics.k8s.io/v1beta1/nodes
如果状态True并能返回数据说明Metrics Server服务工作正常。
复制代码

3.3管理k8s组件日志

K8S系统的组件日志

K8S Cluster里面部署的应用程序日志

- 标准输出

- 日志文件

3.4管理k8s组件日志

复制代码
systemd守护进程管理的组件:
journalctl -u kubelet
Pod部署的组件:
kubectl logs kube-proxy-btz4p -n kube-system
系统日志:
/var/log/messages

查看容器标准输出日志:
kubectl logs <Pod名称>
kubectl logs -f <Pod名称>
kubectl logs -f <Pod名称> -c <容器名称>
标准输出在宿主机的路径
/var/lib/docker/containers/<container-id>/<container-id>-json.log  
复制代码

3.4.1管理k8s应用日志

容器中应用日志可以使用emptyDir数据卷将日志文件持久化到宿主机上。
宿主机的路径:
/var/lib/kubelet/pods/<pod-id>/volumes/kubernetes.io~empty-dir/logs/access.log

3.4.2收集k8s日志思路

 

 针对标准输出:DaemonSet方式在每个Node上部署一个日志收集程序,采集/var/lib/docker/containers/目录下所有容器日志

 针对容器中日志文件:

pod中增加一个容器运行日志采集器,使用emtyDir共享目录让日志采集器读取到日志文件。

posted @   逆风飞翔的博客  阅读(14)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示