Usa dominios de prueba

Obtén información sobre cómo acceder a los servicios de entrega de Knative en tu clúster con fines de prueba antes de elegir asignar un dominio personalizado.

De forma predeterminada, los servicios que implementas en los clústeres de entrega de Knative se configuran 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 de inmediato y enviar solicitudes sin configuración adicional. Por ejemplo: http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io

Ten en cuenta que puede haber problemas relacionados con la confiabilidad de las solicitudes cuando se usan comodines de DNS, incluido el dominio nip.io, que es un servicio de DNS comodín gratuito. En cambio, configurar y usar un dominio personalizado para realizar pruebas puede ofrecer una mayor confiabilidad.

De forma opcional, también puedes acceder a tus servicios a través de la dirección IP externa.

Usa el dominio de prueba nip.io

Para acceder a un servicio con el dominio base nip.io predeterminado, puedes ubicar la URL desde la consola de Google Cloud o puedes crear la URL de forma manual.

Console

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

    Ir a la entrega de Knative

  2. En la lista, haz clic en el servicio para el que deseas obtener la URL.

  3. Cerca de la parte superior de la página, se muestra la URL.

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

    En el que my-service es el nombre del servicio de entrega de Knative, default es el espacio de nombres y 11.111.11.111 es la dirección IP de tu balanceador de cargas externo.

Manualmente

Para construir la URL del servicio de forma manual, usa el nombre del servicio, el espacio de nombres en el que se ejecuta y la dirección IP del balanceador de cargas:

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

Reemplaza lo siguiente:

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

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 verse así:

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

Usa la dirección IP externa

De forma opcional, puedes usar la dirección IP externa del balanceador de cargas para acceder a los servicios a través de los comandos cURL o mediante la configuración manual de un servicio comodín de DNS alternativo.

Antes de comenzar

Obtén la dirección IP externa

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

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

Console

Para obtener la dirección IP externa del balanceador de cargas de la consola de Google Cloud, sigue estos pasos:
  1. Ve a la página de GKE en la consola de Google Cloud:
    Ir a GKE
  2. Haz clic en Ingress y servicios.
  3. Identifica el servicio que es la entrada de Istio de tu clúster. El Tipo del servicio será Balanceador de cargas externo y el Nombre será istio-ingressgateway.
  4. Una vez que encuentres el controlador de entrada de Istio de tu clúster, copia su Extremo. Esta será la dirección IP sin el número de puerto. Por ejemplo, es posible que veas que 00.000.000.000:11 aparece como un extremo, pero solo necesitas copiar 00.000.000.000.

kubectl

A fin de obtener la IP externa para el balanceador de cargas, ejecuta el siguiente comando:

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

Reemplaza ASM-INGRESS-NAMESPACE por el espacio de nombres en el que se encuentra tu entrada de Anthos Service Mesh. Especifica istio-system si instalaste Anthos Service Mesh mediante su configuración predeterminada.

El resultado es 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

El valor EXTERNAL-IP es la dirección IP externa del balanceador de cargas.

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

Usa cURL

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

Puedes especificar la dirección IP externa del balanceador de cargas junto con los nombres de tu servicio y el espacio de nombres en el comando cURL:

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

Reemplaza lo siguiente:

  • SERVICE_NAME por el nombre del servicio de entrega de Knative.
  • NAMESPACE por el espacio de nombres en el que se ejecuta el servicio
  • EXTERNAL_IP por la dirección IP externa del balanceador de cargas.

Ejemplo:

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

Usa otros servicios de comodín de DNS

De forma predeterminada, los servicios de entrega de Knative usan el servicio comodín de DNS nip.io. Sin embargo, puedes optar por 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 cargas y, luego, usar esa dirección IP para configurar el servicio de comodín DNS.

Configura el dominio de tu clúster

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

Console

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

  1. Ve a la página Asignaciones de dominios de entrega de Knative en la consola de Google Cloud:

    Ir a Mapeos de dominios

  2. Selecciona Agregar asignación > Agregar dominio predeterminado del clúster.

  3. Selecciona la casilla de verificación junto a “Aplicar esta asignación de dominio a todos los servicios de entrega de Knative implementados en este clúster”.

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

  5. En el campo Dominio, ingresa el sitio de DNS comodín que deseas usar. Por ejemplo: sslip.io

kubectl

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

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

Reemplazar

  • EXTERNAL_IP por la dirección IP externa del balanceador de cargas
  • DNS_SERVICE con el sitio de DNS comodín que usas. Por ejemplo: sslip.io

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