zoukankan      html  css  js  c++  java
  • k8s-学习笔记18-用DaemonSet部署cron

    创建一个dockerfile

    FROM centos:7
    RUN yum install crontabs -y
    CMD [ "/usr/sbin/crond", "-n" ]
    

      

    创建一个清理和压缩容器日志的脚本,配置为cm。

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: crontab
      namespace: monitoring
    data:
      k8s-cron: |
        SHELL=/bin/bash
        PATH=/sbin:/bin:/usr/sbin:/usr/bin
        MAILTO=root
    
        38 18 * * * root bash /root/logclean.sh
    ---
    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: logclean
      namespace: monitoring
    data:
      logclean.sh: >
        Date=`date -d "3 days ago" +"%Y-%m-%d"`
    
        find /var/lib/docker/overlay2/*/merged/opt/logs -name "*`date -d "3 days
        ago" +"%Y-%m-%d"`*log"|while read LogName
    
        do
    
        [ "X$LogName" == "X" ] && exit
    
        gzip $LogName
    
        done
    
        find /var/lib/docker/overlay2/*/merged/opt/logs -mtime +5 -type f |xargs rm
        -f
    ---
    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
      name: cronbox
      namespace: monitoring
      labels:
        k8s-app: cronbox
    spec:
      selector:
        matchLabels:
          k8s-app: cronbox
      template:
        metadata:
          labels:
            k8s-app: cronbox
        spec:
          terminationGracePeriodSeconds: 30
          dnsPolicy: ClusterFirstWithHostNet
          affinity:
            nodeAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                  - matchExpressions:
                      - key: eks.amazonaws.com/nodegroup
                        operator: NotIn
                        values:
                          - system
          containers:
          - name: cronbox
            image: cronbox:v1
            resources:
              limits:
                memory: 200Mi
              requests:
                cpu: 100m
                memory: 100Mi
            volumeMounts:
            - name: logclean
              mountPath: /root
            - name: crontab
              mountPath: /etc/cron.d
            - name: docker
              mountPath: /var/lib/docker          
          volumes:
          - name: logclean
            configMap:
              defaultMode: 0750
              name: logclean
          - name: crontab
            configMap:
              name: crontab
          - name: docker
            hostPath:
              path: /var/lib/docker
    

      

  • 相关阅读:
    tensorflow1.0 矩阵相乘
    tensorflow1.0 变量加法
    python 给字典按值排序,同样适合于其他
    pytorch 孪生神经网络DNN
    python 利用numpy同时打乱列表的顺序,同时打乱数据和标签的顺序
    python os模块获取指定目录下的文件列表
    创建自定义ssl证书用于https
    使用Maven命令行下载依赖库
    JAVA入门各种API参考
    在centos 6.9 x64下安装code::blocks步骤
  • 原文地址:https://www.cnblogs.com/jabbok/p/15011417.html
Copyright © 2011-2022 走看看