Personalizzazione dell'installazione di Google Cloud

Scopri come installare Knative serving nei tuoi cluster GKE su Google Cloud. Knative serving ora utilizza i parchi risorse Cloud Service Mesh e GKE Enterprise. Scopri le novità e le modifiche con le installazioni del parco risorse Knative serving.

Utilizza questa pagina per personalizzare una nuova installazione o per configurare un'installazione del parco risorse esistente di Knative serving. Ad esempio, puoi configurare cluster privati o impostare le credenziali di Cloud Monitoring.

La procedura di installazione predefinita esegue automaticamente il deployment della seguente risorsa personalizzata CloudRun che abilita le metriche sui cluster GKE Enterprise su Google Cloud:

  apiVersion: operator.run.cloud.google.com/v1alpha1
  kind: CloudRun
  metadata:
    name: cloud-run

Per saperne di più sulle risorse personalizzate in generale, consulta l'articolo sulle risorse personalizzate.

Prima di iniziare

  • Devi assicurarti di soddisfare i prerequisiti di installazione.

  • Se Knative serving è installato nel tuo cluster, devi assicurarti che il "componente aggiuntivo GKE" non esista prima di eseguire questi passaggi per l'installazione dei componenti del parco risorse. Se hai installato il "componente aggiuntivo", devi seguire i passaggi per eseguire l'upgrade ai parchi risorse GKE Enterprise.

    Controlla se il "componente aggiuntivo GKE" è installato.

    Per verificare se la tua installazione di Knative serving è del "componente aggiuntivo GKE", esegui questo comando:

    gcloud container clusters describe \
    CLUSTER_NAME \
    --region CLUSTER_LOCATION \
    --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'
    

    Sostituisci:

    • CLUSTER_NAME con il nome del tuo cluster.
    • CLUSTER_LOCATION con la località in cui si trova il cluster.
    • PROJECT_ID con l'ID del tuo progetto Google Cloud.

    Risultati:

    • "Componente aggiuntivo GKE" non installato:
      • Se il componente aggiuntivo non è mai stato installato, non viene restituito nulla al terminale.
      • Se il componente aggiuntivo è stato disinstallato in precedenza, viene restituito disabled=true.
    • Il"componente aggiuntivo GKE" è installato: se il componente aggiuntivo è installato nel cluster, vengono restituiti i dettagli di configurazione del componente aggiuntivo. Esempio: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    Esempio:
    L'esempio seguente mostra che Knative serving è stato installato nel cluster my-addon-cluster tramite il "componente aggiuntivo GKE", configurato per gestire il traffico esterno:
    gcloud container clusters describe my-addon-cluster \
    --region us-central1-c --project my-gcp-project \
    --format='get(addonsConfig.cloudRunConfig)'
    

    Risposta:

    loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    

Configura la tua risorsa personalizzata CloudRun

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

Per creare manualmente una risorsa personalizzata CloudRun per i cluster GKE su Google Cloud:
  1. Crea un file YAML e includi la configurazione predefinita, ad esempio cloudrunanthos.yaml:

    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    
  2. In cloudrunanthos.yaml puoi personalizzare l'installazione configurando uno o più dei seguenti attributi in una sezione spec:

    • Cluster privati: devi aggiungere il set di attributi clusterConfig e isPrivate per installare Knative serving su un cluster privato su Google Cloud.

      Attributi clusterConfig e isPrivate:

      spec:
        clusterConfig:
          isPrivate: true
      

      Tieni presente che questa impostazione disabilita TLS gestito perché i cluster privati non sono in grado di comunicare con l'autorità di certificazione per impostazione predefinita.

    • Metriche: aggiungi l'insieme metricscollector di attributi per configurare Cloud Monitoring. Le metriche sono abilitate per impostazione predefinita per i cluster GKE Enterprise su Google Cloud.

      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 l'identificatore completo del cluster.
      • SECRET_NAME con il nome del secret per l'account di servizio dello spazio dei nomi knative-serving.
      • SECRET_KEY con la chiave del secret per l'account di servizio dello spazio dei nomi knative-serving. Ad esempio: key.json

        Per maggiori dettagli sugli account di servizio, vedi:

Esempio

In questo esempio di risorsa personalizzata CloudRun, i dettagli di configurazione per Cloud Monitoring sono specificati in modo da utilizzare il secret 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
 ```

Abilita e installa Knative serving

Abilita il componente Knative serving nel tuo parco risorse GKE Enterprise, quindi esegui il deployment della tua 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 la documentazione di riferimento gcloud container fleet cloudrun Enable.

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

    Console

    Vedi se il componente Knative serving è abilitato nella console Google Cloud:

    Vai a Gestore funzionalità

    Riga di comando

    Vedi 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 la documentazione di riferimento gcloud container Fleet features list.

    Risultato:

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

    gcloud

    gcloud container fleet cloudrun apply --gke-cluster=CLUSTER_LOCATION/CLUSTER_NAME --config=CONFIG_FILE
    

    Sostituisci quanto segue:

    • CLUSTER_LOCATION con la regione o la zona in cui si trova il cluster.
    • CLUSTER_NAME con l'ID del cluster o l'identificatore completo del cluster.
    • CONFIG_FILE con il percorso relativo del nome file della tua risorsa personalizzata cloudRun. Esempio: cloudrunanthos.yaml.

    Per dettagli e opzioni aggiuntive, consulta la documentazione di riferimento gcloud container fleet cloudrun apply.

    kubectl

    kubectl apply --kubeconfig=KUBECONFIG --filename CONFIG_FILE
    

    Sostituisci quanto segue:

    • KUBECONFIG con il percorso assoluto al tuo file di configurazione kubectl.
    • CONFIG_FILE con il nome file e il percorso relativo della tua risorsa personalizzata cloudRun. Esempio: cloudrunanthos.yaml.

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

  4. Verifica che Knative serving sia stato abilitato nel tuo 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 serving siano in esecuzione negli spazi dei nomi knative-serving e appdevexperience.

Passaggi successivi

Configura la tua installazione di Knative serving.