Я пытаюсь запустить скрипт оболочки с регулярным интервалом в 1 минуту, используя CronJob.
Я создал следующее задание Cron в моем шаблоне openshift:
- kind: CronJob
apiVersion: batch/v2alpha1
metadata:
name: "${APPLICATION_NAME}"
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: mycron-container
image: alpine:3
imagePullPolicy: IfNotPresent
command: [ "/bin/sh" ]
args: [ "/var/httpd-init/croyscript.sh" ]
volumeMounts:
- name: script
mountPath: "/var/httpd-init/"
volumes:
- name: script
configMap:
name: ${APPLICATION_NAME}-croyscript
restartPolicy: OnFailure
terminationGracePeriodSeconds: 0
concurrencyPolicy: Replace
карта конфигурации, вставленная как том в это задание:
- kind: ConfigMap
apiVersion: v1
metadata:
name: ${APPLICATION_NAME}-croyscript
labels:
app: "${APPLICATION_NAME}"
data:
croyscript.sh: |
#!/bin/sh
if [ "${APPLICATION_PATH}" != "" ]; then
mkdir -p /var/httpd-resources/${APPLICATION_PATH}
fi
mkdir temp
cd temp
###### SOME CODE ######
Это задание Cron выполняется. поскольку я могу видеть, что название работы заменяется каждые 1 минута (как запланировано в моей работе). Но это не выполнение сценария оболочки croyscript.sh Я что-то здесь не так делаю? (Возможно, я неверно вставил configmap, поэтому Job не может получить доступ к сценарию оболочки)