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):监控事务日志
		当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ... 
随机推荐
- 组件给App全局传值vue-bus的使用
			npm安装 npm install vue-bus main.js引入 import VueBus from 'vue-bus' Vue.use(VueBus) 组件 getHouse(e){ thi ... 
- Java8 日期和时间类
			新的日期和时间API 新的日期和时间类解决了Date和Calendar类出现的问题 浅尝 LocalDate 日期类 LocalDate of = LocalDate.of(2018, 7, 13); ... 
- DVWA_sql injection(low)
			这里主要记录下做题时的思路以及步骤,不查看源码也不对源码进行分析.(我这个dvwa是一个在线靶场,所以我也不确定是否与本地靶场有些许出入) 1.Low 将难度调为Low级别后,来到如下界面 首先输入一 ... 
- nginx 启动报错“var/run/nginx/nginx.pid" no such file or directory
			nginx 启动报错“var/run/nginx/nginx.pid" no such file or directory 今天刚搭建的nginx服务器启动时,报错“var/run/ngin ... 
- FastDFS+nginx整合模块安装
			FastDFS安装 安装gcc编译器 yum -y install gcc automake autoconf libtool make 上传解压两个文件包 libfastcommon是从FastDF ... 
- ElasticSearch7.6.1 概述
			本来打算重新回去看 并发编程的,之前看过一遍,现在基本忘完了,然后因为考虑到项目的需要,就先看ES了 然后再B站上看到一个视屏比较火,就看这个吧 给大家推荐一下 https://www.bilibil ... 
- Activiti7 绑定业务主键以及流程定义 流程实例的挂起和激活
			绑定业务主键businessKey /** * 绑定业务主键 */ @Test public void bindingBusinessKey() { // 获取RuntimeService Runti ... 
- 用于测试 SqlAnalyzer1.01 的21个测试用例
			感慨:当年看着 https://www.cnblogs.com/heyang78/p/11451814.html 一文望洋兴叹,如今我也自己做出来了! 21. 原文=select name, cnt ... 
- agumaster 出现实际股票数据
			工程下载:https://files.cnblogs.com/files/xiandedanteng/agumaster20200430-3.zip --2020-04-30-- 
- Netty内置的编解码器和ChannelHandler
			Netty 为许多通用协议提供了编解码器和处理器,几乎可以开箱即用,这减少了你在那些相当繁琐的事务上本来会花费的时间与精力. 通过SSL/TLS 保护Netty 应用程序 SSL和TLS这样的安全协议 ... 
