In our project, which also uses Kustomize, our base deployment.yaml
file looks like this:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:IMAGE_TAG # <------------------------------
ports:
- containerPort: 80
Luego usamos sed
para reemplazar IMAGE_TAG
con la versión de la imagen que queremos implementar.
¿Hay una forma más sofisticada de hacer esto, en lugar de editar el archivo de texto yaml usando sed
?
Solución del problema
Hay un transformador específico para esto llamado transformador de imágenes. Puede mantener su implementación tal como está, con o sin etiqueta:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
y luego en su archivo de personalización:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
images:
- name: nginx
newTag: MYNEWTAG
Tenga en cuenta que esto reemplazará la etiqueta de todas las imágenes nginx de todos los recursos incluidos en su archivo de personalización. Si necesita ejecutar varias versiones de nginx, puede reemplazar el nombre de la imagen en su implementación por un marcador de posición y tener diferentes entradas en el transformador.
No hay comentarios:
Publicar un comentario