OpenShift3.테스트 11의 CronJob
ConcurrencyPolicy
→ concurrencyPolicy
대문자 "C"도 틀리지 않지만 옵션이 작동하지 않습니다.미안해. 내가 잘못 기억했어.
개시하다
OpenShift에서 다양한 Pod을 시도해 봤습니다.
크론이 이용하고 싶은 장면도 있어요(^-)-☆
그런 번역으로 3.9 이후에 이루어진 크론잡!
Red Hat OpenShift 3.11 【 제38장 크론 작업 】
CronJob의 정의
레드하트의 샘플. 맞춤 제작해 보세요.
이번에는 WordPress를 호출하는 백업 Job으로 설정합니다.
Wordpress의 백업 Job 옵션은 여기에 기재되지 않았지만, Call 전용 URL 형식입니다.
샘플 변경처
이미지를
perl
에서 busybox
로 수정합니다.apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: wp-cron
spec:
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
concurrencyPolicy: "Forbid"
schedule: "*/30 * * * *"
jobTemplate:
spec:
template:
metadata:
labels:
parent: "wp-cron"
spec:
containers:
- name: wp-cron
image: busybox
command: ["wget", "--spider", "http://wordpress-wordpress.192.168.42.178.nip.io/wp-cron.php?_nonce=39f47013&backwpup_run=runext&jobid=1"]
restartPolicy: OnFailure
successfulJobsHistoryLimit
...성공 시 유지되는 Job 수(해당 Pod는 계속 유지됨)failedJobsHistoryLimit
...실패 시 유지되는 Job 수(해당 Pod는 계속 유지됨)concurrencyPolicy
...동시에 정책 실행Allow
...동시에 집행하다.Forbid
...동시 집행을 금지하고 이전의 집행이 끝나지 않았을 때 아래의 집행을 생략합니다.Replace
...동시에 수행된 작업을 취소하고 새 작업으로 대체합니다.schedule
...일정에 Cron 형식으로 로그인합니다.wget
옵션은 -s
이지만 OpenShift의 busybox 버전은 --spider
인 것 같다.오버뷰 화면이든 어디든 가능하기 때문에
Import YAML/JSON
부터 등록한다.중간에 경고가 표시되며 [Create Anyway]에서도 등록할 수 있습니다.
Cronjob 확인
등록된 Job을 확인하고 싶은데... okd를 못 봤어요. 어떤 화면도 등록해야 돼
wp-cron
...(땀처음 로그인할 시간이 왔습니다. 확인 후 Applications Pods에 있습니다!
CronJob 이름에 정의된 Pod 를 클릭하면 자세한 내용이 표시됩니다.
실행 결과가 로그 화면을 참조하면 표준 출력 결과가 나온다.
밤(AM3:00)에 크론잡을 넣고 다음날 아침에 로고를 확인했어요
「Logs are not available.」
역시
--spider
안 좋은데... (땀)여기서 갑자기 의문이...
어떻게 하면 크론잡을 없앨 수 있을까...
okd 관리 화면을 다시 찾으면 Recources>Other Recources에job의 문구가 있습니다
여기서 사라질 것 같은데..
다음 임무만 사라지는 것도 아니고.
Cronjob의 변경 사항
같은 이름으로 크론 시간만 변경하면 덮어쓸지 묻는다
Replace
를 클릭하면 Ok가 됩니다.Cronjob 삭제
GUI가 못하냐!!
$ oc delete cronjob/<cron_job_name>
[tak@minishift ~]$ eval $(minishift oc-env)
[tak@minishift ~]$ oc login
Authentication required for https://192.168.42.178:8443 (openshift)
Username: developer
Password: ********
Login successful.
You have one project on this server: "wordpress"
Using project "wordpress".
[tak@minishift ~]$ oc get cronjob
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
wp-cron */30 * * * * False 0 41m 2h
wp-cron2 0 3 * * * False 0 <none> 47m
[tak@minishift ~]$ oc delete cronjob/wp-cron2
cronjob.batch "wp-cron2" deleted
[tak@minishift ~]$ oc get cronjob
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
wp-cron */30 * * * * False 0 41m 2h
[tak@minishift ~]$
Cronjob의 전체 시스템 확인(Admin 권한 필요)보호의 기초 위에서 크론잡의 난립을 피해야 한다.
그리고 어디에 무슨 크론잡을 등록했는지 파악하고 싶네요.
이 경우 Admin 권한으로 다음 명령을 실행하면 됩니다.
[tak@minishift ~]$ oc get --all-namespaces=true cronjob
NAMESPACE NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
wordpress wp-cron */30 * * * * False 0 1h 2h
미니시프트로 admin권 한정이 뭐야!?이것부터 하세요.[tak@minishift ~]$ oc login
Authentication required for https://192.168.42.178:8443 (openshift)
Username: admin
Password: ********
Login successful.
Using "default". You can switch projects with:
'oc project <projectname>'
[tak@minishift ~]$ minishift addons enable admin-user
Add-on 'admin-user' enabled
[tak@minishift ~]$ minishift addons apply admin-user
-- Applying addon 'admin-user':..
그건 집행이 안 돼...기분이 좋아 실제로 AM3:00으로 설정되어 다음날 아침을 맞았다
실행할 기미가 없다
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: wp-cron
spec:
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
concurrencyPolicy: "Forbid"
schedule: "0 3 * * *"
jobTemplate:
spec:
template:
metadata:
labels:
parent: "wp-cron"
spec:
containers:
- name: wp-cron
image: busybox
command: ["wget", "--spider", "http://wordpress-wordpress.192.168.42.178.nip.io/wp-cron.php?_nonce=39f47013&backwpup_run=runext&jobid=1"]
restartPolicy: OnFailure
많이 해봤는데...oc지령 확인에 분명히 나오지만 시간을 지정하면 실행되지 않습니다(^^;
오케이의 상황.
schedule: "*/30 * * * *"
schedule: "30 * * * *"
NG시 schedule: "0 3 * * *"
schedule: "0 03 * * *"
여기, 내가 반짝였어!GMT입니다(웃음)AM3:00JST 갑니다. - 9:00.
schedule: "0 18 * * *"
정답입니다.[tak@minishift ~]$ date
2019年 7月 16日 火曜日 09:55:17 JST
[tak@minishift ~]$ oc get --all-namespaces=true cronjob
NAMESPACE NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
wordpress wp-cron 55 0 * * * False 1 22s 46m
Reference
이 문제에 관하여(OpenShift3.테스트 11의 CronJob), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/imp555sti/items/ed63f361bccaa20b7436텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)