He creado un secreto usando kubectl create secret generic production-tls --from-file=./tls.key --from-file=./tls.crt
.
Si quisiera actualizar los valores, ¿cómo puedo hacer esto?
kubernetes
kubectl
Chris Stryczynski
fuente
fuente
--save-config
akubectl create secret
para evitar una advertencia de CLI.kubectl create secret tls my-domain-tls --namespace=default --key=./tls.key --cert=./tls.crt --dry-run -o yaml | kubectl apply -f -
los certificados estaban en texto sin formato.Puede eliminar y recrear inmediatamente el secreto:
Pongo estos comandos en una secuencia de comandos, en la primera llamada recibes una advertencia sobre el secreto (aún no) existente, pero esto funciona.
fuente
apply
tiene mucho más sentido, ¡gracias!--namespace=kube-system
Alternativamente, también puede usar
jq
's=
or|=
operator para actualizar secretos sobre la marcha.Aunque puede que no sea tan elegante o simple como el
kubectl create secret generic --dry-run
enfoque, técnicamente, este enfoque realmente actualiza los valores en lugar de eliminarlos / recrearlos. También necesitará los comandosjq
ybase64
(oopenssl enc -base64
) disponibles,tr
es una utilidad de Linux comúnmente disponible para recortar las nuevas líneas finales.Consulte aquí para obtener más detalles sobre el
jq
operador de actualización|=
.fuente
Como no pude responder a la respuesta de Devy anterior, lo que me gusta porque preservará la Propiedad donde eliminar y recrear tiene el potencial de perder cualquier información adicional en el registro. Estoy agregando esto para las personas más nuevas que quizás no entiendan de inmediato por qué sus variables no están siendo interpoladas.
Esto me llevó a intentar utilizar el método 'parche' de kubectl, que también parece funcionar.
Gracias Devy por la respuesta que mejor cubrió mis necesidades.
fuente
Para casos más específicos, es posible que deba especificar su espacio de nombres para que el certificado deba renovarse y eliminar el anterior.
fuente
He usado este y funcionó a las mil maravillas:
docker-server = https://index.docker.io/v1/ (para DockerHub)
Para obtener más información: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-secret-by-pro provide - credentials - on - the - command - line
fuente