我有一个升级后的头盔挂接作业,可挂载2个PV索赔并将数据从一个PVC复制到另一个PVC。 但是,在某些情况下,可能不会存在特定的PVC。当我运行此钩子时,将生成该作业,但即使发现PVC丢失,该作业也处于“挂起”状态。有什么方法可以将该作业标记为失败并继续进行?
apiVersion: batch/v1
kind: Job
metadata:
name: pvc-rsync
spec:
template:
metadata:
name: rsync
spec:
containers:
- name:pvc-rsync
image: mrsync:latest
imagePullPolicy: Always
volumeMounts:
- name: source
mountPath: /srcd
- name: destination
mountPath: /dest
restartPolicy: OnFailure
volumes:
- name: source
persistentVolumeClaim:
claimName: foo
- name: destination
persistentVolumeClaim:
claimName: blah
describe命令显示
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 3m (x25 over 4m) default-scheduler persistentvolumeclaim "foo" not found
我想做两件事之一: 1.动态检测不存在PVC 2.退出作业,使其具有相同的含义。
答案 0 :(得分:0)
没有直接的解决方案。我必须调出另一个具有正确群集角色权限的容器,在该容器中初始化kubectl并使用它来检测以上内容。