Pod Image Pull Policy

Hoju·2022년 8월 25일
0
post-custom-banner

Container Image는 애플리케이션과 모든 소프트웨어 의존성을 캡슐화하는 바이너리 데이터를 나타냅니다. 컨테이너 이미지는 독립적으로 실행할 수 있고 런타임 환경에 대해 잘 정의된 가정을 만드는 실행 가능한 소프트웨어 번들입니다.

💡 Deployment, ReplicaSet, Pod 또는 Pod Template은 포함하는 다른 Object를 처음 만들 때 특별히 명시하지 않은 경우 기본적으로 해당 Pod에 있는 모든 Container의 Pull Policy는 IfNotPresent로 설정됩니다.


imagePullPolicy 설정 값 3가지

  • IfNotPresent: Image가 Local에 없는 경우에만 내려받습니다
  • Always: Kubelet이 Container를 가동할 때마다, Kubelet이 Container Image 레지스트리에 이름과 이미지의 다이제스트가 있는지 질의합니다. 일치하는 다이제스트를 가진 Container Image가 Local에 있는 경우, Kubelet은 Cache된 Image를 사용합니다

💡 digest: 이미지 레이어가 담고 있는 내용물, 즉 이전 레이어와의 변경점을 sha256을 통해 해시값을 구하는 것

  • Never: Kubelet은 image를 가져오려고 시도하지 않습니다. 이미지가 어쨌든 이미 로컬에 존재하는 경우, kubelet은 컨테이너 기동을 시도합니다. 이외의 경우 기동은 실패합니다.

Image Pull 정책 사용하기

  • IfNotPresent
spec:
	containers:
	- image: nginx
	  imagePullPolicy: IfNotPresent
  • Alway
spec:
	containers:
	- image: nginx
	  imagePullPolicy: Always
  • Never
spec:
	containers:
	- image: nginx
	  imagePullPolicy: Never
profile
Devops가 되고 싶은 청소년
post-custom-banner

0개의 댓글