3-kubernetes监控与日志管理
监控集群资源利用率
metrics-server是一个集群范围的资源使用情况的数据聚合器,作为一个应用部署在集群中
metrics-server从每个节点上kubelet API收集指标,通过kubernetes聚合器注册在master APIserver中

Metrics-Server默认是没有部署的,需要手工进行部署
GitHub地址:https://github.com/kubernetes-sigs/metrics-server/
yaml文件下载地址
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml
里面有两种模式可选:
1、HPA 模式可以实现pod水平扩展,可以增加pod的数量
2、VAP 模式可以实现Pod 可以横向扩展,可以增加pod的配置
修改yaml
vim components.yaml
86 image: lizhenliang/metrics-server:v0.3.7 #更换为国内的镜像下载地址
87 imagePullPolicy: IfNotPresent
88 args:
89 - --cert-dir=/tmp
90 - --secure-port=4443
91 - --kubelet-insecure-tls #跳过https(证书)校验
92 - --kubelet-preferred-address-types=InternalIP #使用IP进行连接kuberlet
kubectl describe node|grep InternalIP

修改完成后生效文件
kubectl apply -f components.yaml
kubectl get pods -n kube-system

查看metrics server是否向apiserver注册
kubectl get apiservice #查看聚合成注册信息

如果有异常情况可以使用命令进行查看资源情况
kubectl describe apiservice v1beta1.metrics.k8s.io
查看node和pod资源消耗
kubectl top node #不加节点名称默认是所有节点资源利用率
kubectl top pods #不加pod名称默认是全部pod的资源利用率
kubectl top pods nginx-f89759699-6n8qg #指定pod查看利用率
kubectl top pods -n kube-system #指定命名空间下的资源利用率

工作流程:kubectl top -->所有请求都请求apiserver -->代理metrics-server pod -->kubelet(cadvisor) -->通过cgroups中获取
apiserver聚合成:动态注册,安全代理,方便第三方应用接入,统一接入
cgroups 资源限制位置ls /sys/fs/cgroup/memory/kubepods/

k8s系统的组件日志
k8s Cluster里面部署的应用程序日志
- 标准输出
- 日志文件
1、标准输出路径
/var/log/docker/containers/<container-id>/<container-id>-json.log
2、查看容器标准输出日志
kubectl logs <pod名称>
kubectl logs -f <pod名称>
kubectl logs -f <pod名称> -c <容器名称>
3、容器内应用日志路径
/var/lib/kubelet/pods/<pod-id>/volumes/kubernetes.io~empty-dir/logs/acess.log
例子:
将日志文件通过数据卷挂着到宿主机目录,这样一来就可以在宿主机上统一查看日志了
mkdir /tmp/logs #每个节点都要创建
kubectl apply -f pod.yaml
kubectl delete pod.yaml #创建错误删除
kubectl get pods -o wide
vim pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: web
image: lizhenliang/nginx-php
volumeMounts:
- name: logs
mountPath: /usr/local/nginx/logs #容器中的目录
volumes:
- name: logs
hostPath:
path: /tmp/logs #宿主机的目录
type: Directory



日志收集方案
1、deamonset方式在每个节点部署一个日志采集pod完成讲解的两个目录采集
2、sidecar在pod部署一个日志采集容器,通过数据卷共享业务容器日志目录
3-kubernetes监控与日志管理的更多相关文章
- Kubernetes 集群日志管理 - 每天5分钟玩转 Docker 容器技术(180)
Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理.这是一个 Elasticsearch.Fluentd 和 Kibana 的组合.Elasticsearch ...
- Kubernetes 集群日志管理
Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理.这是一个 Elasticsearch.Fluentd 和 Kibana 的组合.Elasticsearch ...
- Kubernetes 集群日志管理 Elasticsearch + fluentd(二十)
目录 一.安装部署 Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理.这是一个 Elasticsearch.Fluentd 和 Kibana 的组合.Elas ...
- Kubernetes 集群日志管理【转】
Kubernetes 开发了一个 Elasticsearch 附加组件来实现集群的日志管理.这是一个 Elasticsearch.Fluentd 和 Kibana 的组合.Elasticsearch ...
- 日志管理之 Docker logs - 每天5分钟玩转 Docker 容器技术(87)
高效的监控和日志管理对保持生产系统持续稳定地运行以及排查问题至关重要. 在微服务架构中,由于容器的数量众多以及快速变化的特性使得记录日志和监控变得越来越重要.考虑到容器短暂和不固定的生命周期,当我们需 ...
- docker 日志管理
高效的监控和日志管理对保持生产系统持续稳定地运行以及排查问题至关重要. 在微服务架构中,由于容器的数量众多以及快速变化的特性使得记录日志和监控变得越来越重要.考虑到容器短暂和不固定的生命周期,当我们需 ...
- 087、日志管理之 Docker logs (2019-05-09)
参考https://www.cnblogs.com/CloudMan6/p/7749304.html 高效的监控和日志管理对保持生产系统只需稳定的运行以及排查问题至关重要. 在微服务架构中,由 ...
- Kubernetes容器集群管理环境 - Prometheus监控篇
一.Prometheus介绍之前已经详细介绍了Kubernetes集群部署篇,今天这里重点说下Kubernetes监控方案-Prometheus+Grafana.Prometheus(普罗米修斯)是一 ...
- SQL Server中的事务日志管理(9/9):监控事务日志
当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...
随机推荐
- vue 在使用数组的时候,数组内部数据发生变化,视图却没有改变
data(){ return{ todos: [ {name: 'aa', age: 22}, {name: 'bb', age: 23} ] } } methods:{ changeTodos(){ ...
- 时间选择器 element
<el-date-picker type="datetime" placeholder="选择上线日期" :picker-options="st ...
- vue require.context自动化导入
语法: require.context(directory, useSubdirectories = false, regExp = /^.//); directory {String} -读取文件的 ...
- Vue cli4 图片地址引入的几种方式
五种图片地址引入方式 @开头,它也会作为一个模块请求被解析.它的用处在于Vue CLI默认会设置一个指向项目根目录/src的别名@
- Linux:基础命令三
一.软链接 相当于windows中的快捷方式,为了方便用户在使用时更快找到 ln -s /application/appche2.2.0/ /application/appche 注意: ...
- Hadoop框架:单服务下伪分布式集群搭建
本文源码:GitHub·点这里 || GitEE·点这里 一.基础环境 1.环境版本 环境:centos7 hadoop版本:2.7.2 jdk版本:1.8 2.Hadoop目录结构 bin目录:存放 ...
- 分布式系统监视zabbix讲解九之使用snmp监控windows
zabbix监控windows演示 第一步:开启服务. 控制面板>程序>程序和功能>打开或关闭windows功能,勾选上简单网络管理协议(SNMP),以及下面的子程序.点击确定 第二 ...
- Spring boot +Thymeleaf 搭建springweb
对接天猫精灵的时候需要有网关服务器方提供几个页面,服务器已经有了,spring boot的 纯后台的,就加了Thymeleaf jar包添加几个页面跳转 maven配置 <!-- 引入thy ...
- java 常用类-String-1
一.字符串相关的类 1.1 String 的特性 String类:代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. String是一个fin ...
- JavaGuide
最近在看JavaGuide整理的java文档 仅此记录