Actualmente uso una especificación de Kubernetes Deployment.yaml
para implementar un servicio. La especificación incluye una referencia literal a una dirección IP específica (marcada como se <static-ip-address>
muestra a continuación):
spec:
type: LoadBalancer
loadBalancerIP: <static-ip-address>
Me preocupa insertar información como contraseñas o direcciones IP en repositorios remotos de Git. ¿Puedo evitar esto, por ejemplo, haciendo uso de variables de entorno, por ejemplo, con una especificación de implementación y una implementación real aproximadamente de la siguiente manera:
spec:
type: LoadBalancer
loadBalancerIP: ${SERVICE_ADDRESS}
y
export SERVICE_ADDRESS=<static-ip-address>
kubectl create -f Deployment.yaml
Obviamente, esta sintaxis específica aún no funciona. ¿Pero es posible algo así y, si es así, cómo?
Prefiero no confiar en una herramienta de aprovisionamiento separada . Los secretos s ConfigMap
parecen prometedores, pero aparentemente no se pueden consumir de una manera que se adapte a este propósito. Si pudiera hacer referencia directa a una dirección IP estática que se definió con gcloud compute addresses create service-address
eso sería lo mejor.
envsubst
. no sabía sobre esto hasta ahora