Mam następujący kontroler replikacji w Kubernetes w GKE:
apiVersion: v1
kind: ReplicationController
metadata:
name: myapp
labels:
app: myapp
spec:
replicas: 2
selector:
app: myapp
deployment: initial
template:
metadata:
labels:
app: myapp
deployment: initial
spec:
containers:
- name: myapp
image: myregistry.com/myapp:5c3dda6b
ports:
- containerPort: 80
imagePullPolicy: Always
imagePullSecrets:
- name: myregistry.com-registry-key
Teraz, jeśli powiem
kubectl rolling-update myapp --image=us.gcr.io/project-107012/myapp:5c3dda6b
przeprowadzana jest aktualizacja krocząca, ale bez ponownego ściągania. Czemu?
latest
, nie rób tego. Najnowszy pobierze, no cóż, nowszy obraz z najnowszym tagiem. To, czego chcesz, to seria SemVer. ~ 1.2.3 na przykład. spowoduje to pobranie obrazów z tagami z zakresu od> = 1.2.3 do <1.3.0. Tak długo, jak dostawca obrazu podąża za SemVer, wiesz (i jest to ważna część), nie dodano żadnych wstecznych zmian (celowo) i nie dodano żadnych nowych funkcji (możliwe zagrożenie bezpieczeństwa). Proszę nigdy nie używać latest
w systemach produkcyjnych.
imagePullPolicy
dziedzinie.