JDKHOME JDKHOME
  • Web

    • 权限框架Twiggy
    • 脚手架BLZO
  • 杂货
技术思考
  • Kubernetes
  • 文档
  • jdkhome
  • 友链
  • 版权声明
  • 分类
  • 标签
  • 归档
  • Web

    • 权限框架Twiggy
    • 脚手架BLZO
  • 杂货
技术思考
  • Kubernetes
  • 文档
  • jdkhome
  • 友链
  • 版权声明
  • 分类
  • 标签
  • 归档
  • Kubernetes学习记录
  • 国内环境ubuntu18安装k8s
  • 部署nginx服务
  • Kubernetes部署ELK日志收集
  • 启动Pod遇到CrashLoopBackOff解决方案
  • Filebeat使用Node方式收集k8s集群日志
  • 主动清理日志
    • 无状态服务的思路
    • 自动清理ELK收集到的日志
    • 自动清理Node的日志
  • k8s修改Master的Ip
  • 手动重启Pod
  • 分配pod到指定的节点
  • jenkins-pipeline自动构建并部署至k8s
  • 搭建K8S高可用集群
  • 搭建redis

主动清理日志

# 主动清理日志

我们部署了ELK来收集K8S所有Node的日志, 现在还需要一些措施, 让我们的集群更具自维护性。

# 无状态服务的思路

通过各种配置, 使服务的日志输出到控制台, 而不是日志文件; 无需向docker阶段一样, 将日志挂载至宿主机, 所有日志统一由filebeat从容器控制台输出收集.

# 自动清理ELK收集到的日志

其实也可以更细致的设置 保留几天之类的

CronJob 详细介绍 https://kubernetes.io/zh/docs/concepts/workloads/controllers/cron-jobs/

elk-clean.yaml

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: elk-clean
spec:
  schedule: "0 12 * * 2" # 设置每周二 中午12点执行
  successfulJobsHistoryLimit: 0
  failedJobsHistoryLimit: 0
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: elk-clean
            image: curlimages/curl:7.66.0
            args:
            - "-XDELETE"
            - "http://elk-elastic-service:9200/filebeat-*"
          restartPolicy: OnFailure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

启动定时任务

kubectl create -f elk-clean.yaml
1

# 自动清理Node的日志

结合 清理docker占用的磁盘空间

在每个Node部署自动清理的定时任务:

ubuntu@worker2:/data$ sudo crontab -l
# 每天1点30清理
30 1 * * * sh /data/clean-all.sh
1
2
3

clean-all.sh 记得赋予执行权限

#!/bin/sh  

for log in $(find /var/lib/docker/containers/ -name *-json.log)
        do  
                echo "clean logs : $log"  
                cat /dev/null > $log  
        done  

for log in $(find /var/log/containers -name *-json.log)
        do  
                echo "clean logs : $log"  
                cat /dev/null > $log  
        done  

for log in $(find /var/log/pods -name *-json.log) 
        do  
                echo "clean logs : $log"  
                cat /dev/null > $log  
        done  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
上次更新: 2020/06/11, 18:06:00

← Filebeat使用Node方式收集k8s集群日志 k8s修改Master的Ip →

最近更新
01
搭建redis
11-21
02
istio安装
10-25
03
搭建K8S高可用集群
09-13
更多文章>
鄂ICP备15015406号 | Copyright © 2015-2020 jdkhome
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式