Instala Knative Serving como componente de flota de GKE Enterprise.
Antes de empezar
Primero debes revisar y asegurarte de que cumples los requisitos para actualizar.
Los comandos de esta página usan las variables de entorno y la secuencia de comandos de migración del paso de preparación de la actualización.
Es importante que sigas cada paso de este proceso en el orden especificado.
Información general
La instalación del servicio de Knative como componente de una flota incluye lo siguiente:
- Habilitar flotas en tu proyecto de Google Cloud .
- Copiando la pasarela
gke-system-gateway
en la pasarelaknative-ingress-gateway
. - Instalar el recurso personalizado de servicio de Knative en tu clúster.
Ten en cuenta que, durante este proceso, tus servicios de Knative Serving seguirán atendiendo el tráfico sin interrupciones.
Instalar el componente de flota de Knative Serving
En esta sección, se usa el script de migración para instalar Knative Serving como componente de flota.
Ejecuta el siguiente comando para iniciar la secuencia de comandos de migración:
./migration-addon.sh --command install-cloud-run-v2
Ten en cuenta que, si tienes algún problema con este paso o quieres cambiar algo, puedes volver a ejecutar este comando de secuencia de comandos de migración.
En el terminal, la secuencia de comandos de migración te pedirá que confirmes cada acción. Introduce
y
en cada petición para continuar.Las peticiones durante el proceso de instalación del componente de flota de Knative Serving son similares a las siguientes:
In the process of installing the Knative serving fleet component, the script performs the following: 1. Enabling the fleet in your Google Cloud project. 2. Copy gke-system-gateway Gateway to knative-ingress-gateway Gateway 3. Installing the Knative serving custom resource in your cluster. Continue? [Y/n] y 1. Enabling Anthos services? Continue? [Y/n] y Operation "operations/acf.p2-625914735451-10d4b6ff-68e1-4a09-97c4-79b209be5031" finished successfully. 2. Copying gke-system-gateway Gateway to knative-ingress-gateway Gateway configmap/original-knative-ingress-gateway-spec unchanged gateway.networking.istio.io/knative-ingress-gateway patched (no change) configmap/config-istio patched configmap/config-istio patched gateway.networking.istio.io "gke-system-gateway" deleted 3. Install the Knative serving custom resource in your cluster? Continue? [Y/n] y Waiting for Knative serving feature to be enabled Knative serving feature is enabled. The YAML file for the new operator appdevexperience-operator was created at /tmp/tmp.bI7H1qagGa/cloudrun.yaml customresourcedefinition.apiextensions.k8s.io/cloudruns.operator.run.cloud.google.com condition met kubeconfig entry generated for my-gke-cluster. Added the custom resource for Knative serving Waiting for Knative serving serving to be ready... Knative serving serving is not ready yet. Knative serving serving is ready. Removing the ValidatingWebhookConfiguration used to prevent deletion validatingwebhookconfiguration.admissionregistration.k8s.io "prevent-deletion-cloud-run-resources" deleted Knative serving has been installed as an Anthos fleet component
Problema conocido de los clústeres privados
Si tu instalación de Knative Serving está en un clúster privado en Google Cloud, es posible que recibas un error de tiempo de espera de:
Waiting for CRD cloudruns.operator.run.cloud.google.com to be created
Para evitar el error de tiempo de espera, ejecuta el siguiente comando:
cat <<EOF | kubectl apply -f - apiVersion: operator.run.cloud.google.com/v1alpha1 kind: CloudRun metadata: name: cloud-run EOF
Verifica que el componente de la función de servicio de Knative esté habilitado:
Consola
Comprueba si el componente de servicio de Knative está habilitado en la Google Cloud consola:
Línea de comandos
Para ver si el estado
appdevexperience
esACTIVE
, haz lo siguiente:gcloud alpha container hub features list --project=PROJECT_ID
Sustituye PROJECT_ID por el ID de tu Google Cloud proyecto.
Para obtener más información y ver otras opciones, consulta la lista de funciones de gcloud alpha container hub.
Siguientes pasos
Ahora que Cloud Service Mesh y Knative Serving están instalados, puedes empezar a migrar y desplegar tráfico a tus nuevos recursos.
Restauración
Si necesitas deshacer los cambios que has realizado siguiendo los pasos anteriores, puedes usar la secuencia de comandos de migración para hacer lo siguiente:
- Quita el control de tus recursos de Knative Serving del operador.
appdevexperience-operator
- Elimina el recurso personalizado de Knative Serving y desinstala el operador
appdevexperience-operator
. - Opcional: Inhabilita Knative Serving en la flota de tu proyectoGoogle Cloud .
Para iniciar el proceso de restauración, sigue estos pasos:
Ejecuta el siguiente comando para iniciar la secuencia de comandos de migración:
./migration-addon.sh --command rollback-install-cloud-run-v2
En el terminal, la secuencia de comandos de migración te pedirá que confirmes cada acción. Introduce
y
en cada petición para continuar.Las peticiones que se muestran durante el proceso de desinstalación del componente de la flota son similares a las siguientes:
In the step of rolling back the Knative serving fleet installation, the script performs the following: 1. Remove control of Knative serving resources from the operator `appdevexperience-operator`. 2. Delete the Knative serving custom resource and uninstall the operator `appdevexperience-operator`. 3. Revert the changes installed by the Knative serving fleet component. 4. Optional: Disable Knative serving in the GKE Enterprise fleet of your Google Cloud project. Continue? [Y/n] y 1. Removing control of Knative serving resources from the operator `appdevexperience-operator`. Creating a ValidatingWebhookConfiguration to prevent the deletion of the resources under the following namespaces: knative-serving, cloud-run-system, and gke-system waiting for OwnerReferences of Knative serving resources to be deleted OwnerReferences of Knative serving resources are deleted Waiting for Knative serving serving to be ready... Knative serving serving is ready. 2. Delete the Knative serving custom resource and uninstall the operator `appdevexperience-operator`? Continue? [Y/n] y cloudrun.operator.run.cloud.google.com "cloud-run" deleted clusteractiveoperand.operand.run.cloud.google.com/sha256-3c1c80a329 patched waiting for appdevexperience namespace to be deleted 3. Revert the changes installed by the fleet component? configmap/config-observability patched 4. Optional: Disable Knative serving in the Anthos fleet of your Google Cloud project? You can choose to skip this step and keep the feature enable within your Anthos fleet. For example, you might want to keep the Knative serving fleet component enabled because it was enabled prior to this migration. Continue (or Skip)? [Y/n] n