Installazione di Knative Serving al di fuori di Google Cloud

Scopri come installare il servizio Knative nei tuoi cluster GKE al di fuori di Google Cloud. Knative serving ora utilizza i parchi risorse Cloud Service Mesh e GKE Enterprise. Scopri le novità e le modifiche apportate alle installazioni del fleet Knative serving.

Per Knative serving su VMware, consulta la guida all'installazione a livello GA.

Il supporto per i seguenti cluster GKE è disponibile come anteprima:

Segui i passaggi descritti in questa pagina per configurare una nuova installazione o per aggiornare un'installazione del parco risorse esistente di Knative serving.

Prima di iniziare

Devi assicurarti di soddisfare i prerequisiti di installazione.

Configura la risorsa personalizzata CloudRun

Per configurare l'installazione, devi creare e configurare manualmente la risorsa personalizzata CloudRun.

Per creare manualmente una CloudRun risorsa personalizzata per i cluster GKE al di fuori di Google Cloud:

  1. Devi creare o disporre di un account di servizio esistente a cui è stato assegnato il ruolo Writer metriche monitoraggio richiesto (monitoring.metricWriter).

    • Per creare un nuovo account di servizio e scaricare la chiave, consulta Utilizzare gli account di servizio.

    • Se hai già un account di servizio con le autorizzazioni necessarie, locate la chiave che hai scaricato quando hai creato l'account di servizio.

  2. Assicurati che Cloud Monitoring sia abilitato nel tuo cluster GKE:

  3. Crea lo spazio dei nomi knative-serving:

    kubectl create namespace knative-serving
    
  4. Crea un secret nello spazio dei nomi knative-serving che contenga l'account di servizio con le autorizzazioni monitoring.metricWriter:

    kubectl create secret -n knative-serving generic SECRET_NAME --from-file=PATH_TO_KEY_FILE/SECRET_KEY
    

    Sostituisci:

    • SECRET_NAME con il nome che scegli per il secret.
    • SECRET_KEY con il nome del file che include le tue credenziali. Esempio: key.json
    • PATH_TO_KEY_FILE con il percorso della directory del SECRET_KEY.

    Per scoprire di più, inclusi i flag facoltativi, consulta la documentazione di riferimento di kubectl create secret.

  5. Crea un file YAML con i seguenti attributi, ad esempio cloudrunanthos.yaml:

    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    spec:
      metricscollector:
        stackdriver:
          projectid: PROJECT_ID
          gcpzone: CLUSTER_LOCATION
          clustername: CLUSTER_NAME
          secretname: SECRET_NAME
          secretkey: SECRET_KEY
    

    Sostituisci quanto segue:

    • PROJECT_ID con l'ID del tuo progetto Google Cloud.
    • CLUSTER_LOCATION con la regione o la zona in cui si trova il cluster.
    • CLUSTER_NAME con l'ID del cluster o con l'identificatore completamente qualificato del cluster.
    • SECRET_NAME con il nome del segreto per l'account di servizio dello spazio dei nomi knative-serving.
    • SECRET_KEY con la chiave del segreto per l'account di servizio del spazio dei nomi knative-serving. Ad esempio: key.json

      Per informazioni dettagliate sugli account di servizio, consulta:

    Esempio

    In questo esempio di risorsa personalizzata CloudRun, i dettagli di configurazione per Cloud Monitoring sono specificati per utilizzare il segreto my-gcp-logging-secret e la chiave key.json:

     apiVersion: operator.run.cloud.google.com/v1alpha1
     kind: CloudRun
     metadata:
       name: cloud-run
     spec:
       metricscollector:
         stackdriver:
           projectid: my-gcp-project-id
           gcpzone: us-central1-c
           clustername: my-anthos-cluster-name
           secretname: my-gcp-logging-secret
           secretkey: key.json
     ```
    

Attiva e installa Knative serving

Abilita il componente di pubblicazione Knative nel tuo parco risorse GKE Enterprise e poi esegui il deployment della risorsa personalizzata CloudRun:

  1. Abilita Knative serving nel tuo parco risorse:

    gcloud container fleet cloudrun enable --project=PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud .

    Per dettagli e opzioni aggiuntive, consulta il riferimento gcloud container fleet cloudrun enable.

  2. (Facoltativo) Verifica che il componente della funzionalità Knative serving sia attivo:

    Console

    Controlla se il componente di pubblicazione Knative è Abilitato nella console Google Cloud :

    Vai a Gestore funzionalità

    Riga di comando

    Visualizza se lo stato appdevexperience è ACTIVE:

    gcloud container fleet features list  --project=PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud .

    Per dettagli e opzioni aggiuntive, consulta il elenco delle funzionalità di gcloud container fleet informazioni di riferimento.

    Risultato:

    NAME               STATE
    appdevexperience   ACTIVE
    
  3. Per ogni cluster GKE Enterprise in cui vuoi installare Knative serving, devi eseguire il deployment della risorsa personalizzata CloudRun:

    gcloud

    gcloud container fleet cloudrun apply --kubeconfig=KUBECONFIG --context=CONTEXT --config=CONFIG_FILE
    

    Sostituisci quanto segue:

    • KUBECONFIG con il percorso assoluto del file di configurazione kubectl.
    • CONTEXT con il nome del contesto nel file di configurazione kubectl da utilizzare per la connessione.
    • CONFIG_FILE con il percorso relativo del nome file della risorsa personalizzatacloudRun. Esempio cloudrunanthos.yaml.

    Per dettagli e opzioni aggiuntive, consulta il riferimento gcloud container fleet cloudrun apply.

    kubectl

    kubectl apply --kubeconfig=KUBECONFIG --filename CONFIG_FILE
    

    Sostituisci quanto segue:

    • KUBECONFIG con il percorso assoluto del file di configurazione kubectl.
    • CONFIG_FILE con il nome file e il percorso relativo alla risorsa personalizzatacloudRun. Esempio cloudrunanthos.yaml.

    Per dettagli e opzioni aggiuntive, consulta la documentazione di riferimento di kubectl apply.

  4. Verifica che il servizio Knative sia stato attivato nel cluster:
    1. Apri la console Google Cloud :

      Vai ai cluster GKE

    2. Fai clic sul nome del cluster per aprire il riquadro dei dettagli.

    3. Esegui questo comando per verificare se riesci a vedere i dettagli della versione di Knative serving: kubectl get namespace knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
    4. Verifica che tutti i deployment specifici di Knative siano in stato di esecuzione nei namespace knative-serving e appdevexperience.

Passaggi successivi

Configura l'installazione di Knative serving.