kfp image policy 정의하기
2023. 1. 16. 11:36ㆍmachine learning
2022.12.29 - [machine learning] - Kubeflow pipeline 작성 및 pvc에 저장하기
kfp로 pipeline을 작성하고 실행하다 보면 image tag가 같은 경우 새로 이미지를 pull 받지 않고 기존 컨테이너를 활용하는 것을 확인 할 수가 있다. 해당 기능이 어떤 점에서는 편할 수 있지만 동작 시 혼란을 야기할 수 있기 때문에 kfp 정의 시 image policy를 정의해 주도록 하자.
def train_op():
op = dsl.ContainerOp(
name='Test',
image='test:test01'
)
op.set_image_pull_policy("IfNotPresent")
return op.apply(onprem.mount_pvc(pvc_name='pvc-test', volume_name='test', volume_mount_path='/test'))
op.set_image_pull_policy 함수를 통해 이미지 정책을 정의해 줄 수 있다.
파라미터는 string 값을 받으며, "IfNotPresent", "Always", "Never" 이렇게 3개의 값을 사용할 수 있다.
https://kubeflow-pipelines.readthedocs.io/en/latest/source/kfp.dsl.html
위 함수 적용후 생성된 yaml 값을 보면 아래와 같이 image policy가 설정되어 있는 것을 확인할 수가 있다.
- name: Test
container:
image: test:test01
imagePullPolicy: IfNotPresent