说明: 很多时候我不想重新构建镜像,并且想要将完成shell脚本而不是渐渐简单的命令作为k8s容器实例command参数输入并且执行。可以借鉴comfigmap的写法使用管道符来输如一个完成的文件内容。在k8s容器环境,更加适合使用定时任务定时执行一段完整的shell脚本
1、普通实例的写法
apiVersion: v1
kind: Pod
metadata:labels:run: my-podname: my-podnamespace: default
spec:containers:- args:- /bin/sh- -c- |-#!/bin/shcat /etc/hostsecho "这是一个测试实例"echo $(date)tail -f /etc/hostsimage: busybox:latestimagePullPolicy: Alwaysname: my-pod
2、定时任务写法
apiVersion: batch/v1beta1
kind: CronJob
metadata:name: my-cronjob
spec:schedule: "*/5 * * * *"jobTemplate:spec:template:spec:containers:- name: my-containerimage: busybox:latestcommand:- /bin/sh- -c- |#!/bin/shcat /etc/hostsecho "这是一个测试实例"echo $(date)#tail -f /etc/hostsrestartPolicy: OnFailure