run remove hub compose docker kubernetes devops

remove - docker-compose



Actualice k8s ConfigMap o Secreto sin eliminar el existente (2)

He estado usando K8S ConfigMap y Secret para administrar nuestras propiedades. Mi diseño es bastante simple, mantiene los archivos de propiedades en un repositorio de git y usa un servidor de compilación como Thoughtworks GO para implementarlos automáticamente como ConfigMaps o Secretos (según la condición de elección) en mi clúster k8s.

Actualmente, no es realmente eficiente tener que eliminar siempre el ConfigMap y el Secreto existentes y crear uno nuevo para actualizar como se muestra a continuación.

paso1: kubectl delete configmap foo

paso2: kubectl create configmap foo --from-file foo.properties

¿Hay una forma agradable y sencilla de hacer más de un paso y más eficiente que eliminar la corriente? potencialmente, lo que estoy haciendo ahora puede comprometer el contenedor que utiliza estos mapas de configuración si intenta montar mientras se elimina el antiguo mapa de configuración y no se ha creado el nuevo.

Gracias por adelantado


Para futuras referencias, kubectl replace es ahora una forma muy útil de lograr esto.

kubectl replace -f some_spec.yaml Le permite actualizar un configMap completo (u otros objetos)

Consulte el documento y los ejemplos directamente en https://kubernetes.io/docs/user-guide/kubectl/kubectl_replace/

Copia / pegado de la ayuda:

# Replace a pod using the data in pod.json. kubectl replace -f ./pod.json # Replace a pod based on the JSON passed into stdin. cat pod.json | kubectl replace -f - # Update a single-container pod''s image version (tag) to v4 kubectl get pod mypod -o yaml | sed ''s//(image: myimage/):.*$//1:v4/'' | kubectl replace -f - # Force replace, delete and then re-create the resource kubectl replace --force -f ./pod.json


Puede obtener yaml desde el kubectl create configmap y canalizarlo a kubectl replace , de la siguiente manera:

kubectl create configmap foo --from-file foo.properties -o yaml --dry-run | kubectl replace -f -