배치/포드를 사용하여 이름을 "xyz"라고 가정합니다. 이 포드에 특정 이미지가 있는지 확인하고 싶습니다. 이 이미지가 최근에 도커 레지스트리에서 가져온 이미지와 다른 경우에만 배포하십시오. 그렇지 않으면 배포하지 마십시오. 이것은 태그가 업데이트되지 않는다고 가정합니다. 어떤 아이디어도 감사합니다.Kubernetes에 배포하기 전에 Docker 이미지 확인
1
A
답변
1
이 스레드를 확인하십시오. here은 롤링 업데이트 메커니즘을 기반으로합니다. 또는 직접
$ kubectl set image deployment/auth-deployment auth=auth:2.1.0
그런 다음 당신은 단순히 위의 출시로 변화를 얻기 위해 각각의 상태와 배포를 확인할 수 kubectl 같은 명령 행 도구를 사용하여 설정합니다. 자세한 내용은 Genti Saliu가 제공 한 의견의 링크에 있습니다.
배포 프로세스의 포드 템플리트가 변경된 경우 (예 : .spec.template
)에만 배포 프로세스가 시작됩니다. 위의 set
명령을 사용한다고해서 원격 설치 프로세스가 완료 될 때까지 가동 시간이 보장되는 것은 아닙니다. 그래서, 그것은 단지 dev에 환경에서 사용자입니다. 아래 하나로서 적절한 전략을 사용할 필요가 다운 타임에 대한
minReadySeconds: 7
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
maxUnavailable
가 0으로 설정 될 때 새로운 포드가 minReadySeconds
후 인스턴스화 될 때까지 한, 기존의 포드는 교체되지 않습니다 시간 종료. 이렇게하면 다운 타임이 발생하지 않습니다. 희망이 도움이됩니다.
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#updating-a-deployment 인용 : ** 배치의 포드 템플리트가 ** 인 경우에만 배포가 롤아웃됩니다 (즉, .spec.template)이 변경되었습니다. 예를 들어 ** 템플릿의 레이블 또는 컨테이너 이미지가 업데이트 된 경우 ** –