J'ai le contrôleur de réplication suivant dans Kubernetes sur 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
Maintenant, si je dis
kubectl rolling-update myapp --image=us.gcr.io/project-107012/myapp:5c3dda6b
la mise à jour progressive est effectuée, mais pas de nouvelle extraction. Pourquoi?
latest
, ne le faites pas. La dernière tirera l'image, enfin, la plus récente avec la dernière balise. Ce que vous voulez, c'est une gamme SemVer. ~ 1.2.3 par exemple. cela tirera les images avec des balises comprises entre> = 1.2.3 et <1.3.0. Tant que le fournisseur d'images suit SemVer votre connaissance (et c'est la partie importante), aucun changement de rupture en arrière n'a été ajouté (exprès) et qu'aucune nouvelle fonctionnalité n'a été ajoutée (problème de sécurité possible). Veuillez ne jamais utiliser latest
dans les systèmes de production.
imagePullPolicy
domaine.