Usar dominios de prueba

Consulta cómo acceder a los servicios de Knative Serving de tu clúster para hacer pruebas antes de asignar un dominio personalizado.

De forma predeterminada, los servicios que implementes en tus clústeres de Knative Serving se definen en el dominio base nip.io. Por lo tanto, si usas el nombre recomendado para la puerta de enlace de entrada, puedes probar tus servicios y enviar solicitudes inmediatamente sin necesidad de realizar ninguna configuración adicional. Por ejemplo: http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io.

Ten en cuenta que pueden surgir problemas con la fiabilidad de las solicitudes al usar comodines de DNS, incluido el dominio nip.io, que es un servicio de comodín de DNS gratuito. Por el contrario, configurar y usar un dominio personalizado para las pruebas puede ofrecer una mayor fiabilidad.

También puedes acceder a tus servicios a través de la dirección IP externa.

Usar el dominio de prueba nip.io

Para acceder a un servicio mediante el dominio base nip.io predeterminado, puedes buscar la URL en la consola Google Cloud o crearla manualmente.

Consola

  1. En la Google Cloud consola, ve a la página Knative serving.

    Ir a Knative serving

  2. En la lista, haz clic en el servicio del que quieras obtener la URL.

  3. La URL se muestra en la parte superior de la página.

    Por ejemplo: http://my-service.default.kuberun.11.111.11.111.nip.io

    Donde my-service es el nombre del servicio de Knative Serving, default es el espacio de nombres y 11.111.11.111 es la dirección IP de tu balanceador de carga externo.

Manualmente

Para crear manualmente la URL de tu servicio, debes usar el nombre del servicio, el espacio de nombres en el que se ejecuta y la dirección IP de tu balanceador de carga:

http://SERVICE.NAMESPACE.kuberun.EXTERNAL_IP.nip.io

Sustituye:

  • SERVICE_NAME con el nombre de tu servicio.
  • NAMESPACE por el espacio de nombres en el que has desplegado el servicio. De forma predeterminada, los servicios se implementan en el espacio de nombres default.
  • EXTERNAL_IP con la dirección IP externa de tu balanceador de carga.

Por ejemplo, si tienes un servicio llamado hello en el espacio de nombres default y tu dirección IP externa es 12.345.67.890, la URL podría tener este aspecto:

http://hello.default.kuberun.12.345.67.890.nip.io

Usar la dirección IP externa

También puedes usar la dirección IP externa de tu balanceador de carga para acceder a tus servicios mediante comandos cURL o configurando manualmente un servicio comodín de DNS alternativo.

Antes de empezar

Obtener la dirección IP externa

Cuando se crea el clúster de GKE Enterprise, el controlador de entrada de Istio crea un Google Cloud balanceador de carga de red con una dirección IP disponible públicamente.

Para configurar el acceso a tu servicio con cURL o un servicio DNS, primero debes obtener la dirección IP externa del servicio de balanceador de carga:

Consola

Para obtener la dirección IP externa del balanceador de carga desde la consola de Google Cloud :
  1. Ve a la página de GKE en la Google Cloud consola:
    Ir a GKE
  2. Haz clic en Servicios y entrada.
  3. Identifica el servicio que es el ingreso de Istio de tu clúster. El Tipo del servicio será Balanceador de carga externo y el Nombre será istio-ingressgateway.
  4. Una vez que hayas encontrado el servicio de entrada de Istio de tu clúster, copia su Endpoint. Esta será la dirección IP sin el número de puerto. Por ejemplo, puede que veas 00.000.000.000:11 en la lista de endpoints, pero solo tienes que copiar 00.000.000.000.

kubectl

Para obtener la IP externa del balanceador de carga, ejecuta el siguiente comando:

kubectl get svc istio-ingressgateway -n ASM-INGRESS-NAMESPACE

Sustituye ASM-INGRESS-NAMESPACE por el espacio de nombres en el que se encuentra tu entrada de Cloud Service Mesh. Especifica istio-system si has instalado Cloud Service Mesh con su configuración predeterminada.

La salida resultante tiene un aspecto similar al siguiente:

NAME                   TYPE           CLUSTER-IP     EXTERNAL-IP  PORT(S)
istio-ingressgateway   LoadBalancer   XX.XX.XXX.XX   pending      80:32380/TCP,443:32390/TCP,32400:32400/TCP

donde el valor EXTERNAL-IP es la dirección IP externa del balanceador de carga.

Después de obtener la dirección IP externa de tu balanceador de carga, puedes usarla en comandos cURL o con un servicio de comodín DNS para acceder a tus servicios de Knative Serving.

Estás usando cURL

Puedes usar comandos cURL con el dominio base nip.io predeterminado para enviar solicitudes a tu servicio.

En el comando cURL, especifica la dirección IP externa del balanceador de carga junto con los nombres del servicio y del espacio de nombres:

curl --header 'Host: SERVICE_NAME.NAMESPACE.kuberun.EXTERNAL_IP.nip.io' EXTERNAL_IP

Sustituye:

  • SERVICE_NAME con el nombre de tu servicio de Knative.
  • NAMESPACE con el espacio de nombres en el que se ejecuta tu servicio.
  • EXTERNAL_IP con la dirección IP externa de tu balanceador de carga.

Ejemplo:

curl --header 'Host: my-service.default.kuberun.12.345.67.890.nip.io' http://12.345.67.890

Usar otros servicios comodín de DNS

De forma predeterminada, tus servicios de Knative Serving usan el servicio comodín de DNS nip.io. Sin embargo, puedes usar otros servicios, como sslip.io. Para configurar otros servicios comodín de DNS, primero debes obtener la dirección IP externa de tu balanceador de carga y, a continuación, usarla para configurar el servicio comodín de DNS.

Configurar el dominio de un clúster

Knative Serving usa el config-domain ConfigMap para definir el dominio base que usan todos los servicios de Knative Serving desplegados. Puedes actualizar ese ConfigMap a través de la consola Google Cloud o con comandos kubectl.

Consola

Para cambiar el dominio base predeterminado de nip.io a uno de los servicios comodín de DNS en la consola Google Cloud , sigue estos pasos:

  1. Ve a la página Asignaciones de dominio de Knative Serving en la consola deGoogle Cloud :

    Ir a Asignaciones de dominio

  2. Selecciona Añadir asignación > Añadir dominio predeterminado del clúster.

  3. Seleccione la casilla situada junto a "Aplicar esta asignación de dominio a todos los servicios de Knative Serving desplegados en este clúster".

  4. Selecciona tu clúster en el menú desplegable.

  5. En el campo Dominio, introduce el sitio DNS comodín que quieras usar. Por ejemplo: sslip.io

kubectl

Para cambiar el dominio base predeterminado de nip.io a uno de los sitios comodín de DNS, usa el comando:

kubectl patch configmap config-domain --namespace knative-serving --patch \
  '{"data": {"kuberun.EXTERNAL_IP.nip.io": null, "DNS_SERVICE": ""}}'

Sustituir

  • EXTERNAL_IP con la dirección IP externa del balanceador de carga.
  • DNS_SERVICE con el sitio DNS comodín que estés usando. Por ejemplo: sslip.io

Tu servicio ya está disponible en http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.{DNS_SERVICE}.