Instalar o componente da frota de exibição do Knative

Instalar o Knative que serve como um componente de frota do GKE Enterprise.

Antes de começar

Visão geral

A instalação do Knative como um componente da frota inclui:

  1. Como ativar frotas no seu projeto do Google Cloud
  2. Copiar o gateway gke-system-gateway para o gateway knative-ingress-gateway.
  3. Como instalar o recurso personalizado de exibição do Knative no cluster.

Observe que, durante esse processo, os serviços atuais de exibição do Knative continuam atendendo ao tráfego sem interrupções.

Instalar o componente da frota de exibição do Knative

Nesta seção, o script de migração é usado para instalar o Knative como um componente da frota.

  1. Execute o seguinte comando para iniciar o script de migração:

    ./migration-addon.sh --command install-cloud-run-v2
    

    Se você tiver algum problema com esta etapa ou quiser alterar algo, é possível executar novamente este comando do script de migração.

  2. No terminal, o script de migração solicita sua confirmação para executar cada ação. Insira y em cada prompt para continuar.

    As solicitações durante o processo de instalação do componente da frota de exibição do Knative são semelhantes a estas:

    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 conhecido para clusters particulares

    Se a instalação da exibição do Knative estiver em um cluster particular no Google Cloud, talvez você receba um erro de tempo limite de:

    Waiting for CRD cloudruns.operator.run.cloud.google.com to be created
    

    Para contornar o erro de tempo limite, execute o seguinte comando:

    cat <<EOF | kubectl apply -f -
    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    EOF
    
  3. Verifique se o componente do recurso de exibição do Knative está ativado:

    Console

    Veja se o componente de exibição do Knative está ativado no Console do Google Cloud:

    Acessar os recursos do GKE Enterprise

    Linha de comando

    Veja se o estado appdevexperience é ACTIVE:

    gcloud alpha container hub features list  --project=PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

    Para mais detalhes e opções, consulte a referência da lista de recursos de hub de contêiner alpha do gcloud.

A seguir

Agora que o Cloud Service Mesh e a exibição do Knative estão instalados, comece a migrar e implantar o tráfego para os novos recursos.

Reverter

Se você precisar reverter as alterações feitas por meio das etapas acima, use o script de migração para:

  • Remova o controle dos recursos de exibição do Knative do operador appdevexperience-operator.
  • Exclua o recurso personalizado de exibição do Knative e desinstale o operador appdevexperience-operator.
  • Opcional: desative a exibição do Knative na frota do projeto do Google Cloud.

Para iniciar o processo de reversão:

  1. Execute o seguinte comando para iniciar o script de migração:

    ./migration-addon.sh --command rollback-install-cloud-run-v2
    
  2. No terminal, o script de migração solicita sua confirmação para executar cada ação. Insira y em cada prompt para continuar.

    As solicitações durante o processo de desinstalação do componente da frota são semelhantes a estas:

    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