Agregue LoadBalancer al servicio existente

Agregue LoadBalancer al servicio existente

Siguiendo este tutorial del libro de visitas.

Cerca del final, pasan por alto cómo crear LoadBalancero asignar NodePortsun servicio. hacen referenciaeste doctorque describe los diferentes tipos y lo que hacen, pero no entra en detalles sobre cómo aplicarlos a un servicio. ¿Existe alguna forma de actualizar el servicio en ejecución, creando y adjuntando un equilibrador de carga a los puertos especificados?

Al utilizar Amazon Web Services para alojar nuestro clúster, admite un excelente equilibrador de carga para la creación de un servicio, pero no estoy seguro de cómo modificar el servicio.

EDITAR:

Al intentar esto se produjo un error:

$ kubectl expone la interfaz del servicio --port=80 --type=LoadBalancer
Error del servidor: el servicio "interfaz" ya existe

Respuesta1

Es bastante confuso, pero aparentemente kubectl exposesólo puede crear un nuevo servicio, no actualizar uno existente. Dice que cuando se ejecuta en un servicio existente, debe pasar una --namemarca para especificar el nombre deseado del nuevo servicio para evitar el conflicto que estaba viendo.

Para actualizar un servicio existente, debería poder utilizar kubectl patcho kubectl update. Probablemente no sea el enfoque óptimo, pero personalmente tiendo a hacer este tipo de cosas ejecutando , actualizando svc.yaml según lo desee ( en este caso, kubectl get svc svc-name -o yaml > svc.yamltenerlo ) y luego .type: LoadBalancerkubectl update -f svc.yaml

Respuesta2

No estoy seguro de si esto es adecuado para su caso, pero un enfoque más radical y simple sería eliminar el servicio (pero no la implementación):

kubectl delete service 'service-name'

y volver a exponer la implementación como LoadBalancer:

kubectl expose deployment/'deployment-name' --type="LoadBalancer"

Respuesta3

Puedes hacerlo ya sea:

  • interactivamente kubectl edit <SERVICE_NAME>modificando el tipo a "LoadBalancer" en el editor
  • en un comando porkubectl patch <SERVICE_NAME> -p '{"spec":{"type":"LoadBalancer"}}'

información relacionada