Personalizzazione dell'installazione di Google Cloud

Scopri come installare Knative serving nei tuoi cluster GKE su Google Cloud. Knative serving ora utilizza Cloud Service Mesh e i parchi risorse GKE Enterprise. Scopri le novità e le modifiche apportate alle installazioni di Knative serving della flotta.

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

I passaggi di installazione predefiniti eseguono 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 informazioni sulle risorse personalizzate in generale, consulta Risorse personalizzate.

Prima di iniziare

  • Devi assicurarti di soddisfare i prerequisiti di installazione.

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

    Controlla se il "componente aggiuntivo GKE" è installato.

    Per verificare se l'installazione di Knative Serving è l'add-on 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 cluster.
    • CLUSTER_LOCATION con la posizione 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.
      • disabled=true viene restituito se il componente aggiuntivo è stato disinstallato in precedenza.
    • "Componente aggiuntivo GKE" è installato: se il componente aggiuntivo è installato nel tuo cluster, vengono restituiti i dettagli di configurazione del componente aggiuntivo. Esempio: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    Esempio:
    Il seguente esempio mostra che Knative Serving è stato installato nel cluster my-addon-cluster tramite il "componente aggiuntivo GKE", che è 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 risorsa personalizzata CloudRun

Devi creare e configurare manualmente la risorsa personalizzata CloudRun per configurare l'installazione.

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, personalizza 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.

      Gli attributi clusterConfig e isPrivate:

      spec:
        clusterConfig:
          isPrivate: true
      

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

    • Metriche: aggiungi il set di attributi metricscollector per configurare Cloud Monitoring. Per impostazione predefinita, le metriche sono abilitate 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 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 il account di servizio dello spazio dei nomi knative-serving. Ad esempio: key.json.

        Per maggiori dettagli sui service account, vedi:

Esempio

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

Attivare e installare Knative serving

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

  1. Abilita Knative serving nel tuo parco dispositivi:

    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 attivato:

    Console

    Controlla se il componente Knative serving è abilitato nella consoleGoogle Cloud :

    Vai a Gestore funzionalità

    Riga di comando

    Visualizza se lo stato di 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 riferimento all'elenco delle funzionalità di gcloud container fleet.

    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 --gke-cluster=CLUSTER_LOCATION/CLUSTER_NAME --config=CONFIG_FILE
    

    Sostituisci quanto segue:

    • CLUSTER_LOCATION con la regione o 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 alla risorsa personalizzata cloudRun. 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 di kubectl.
    • CONFIG_FILE con il nome file e il percorso relativo alla tua risorsa personalizzata cloudRun. Esempio cloudrunanthos.yaml.

    Per dettagli e opzioni aggiuntive, consulta il riferimento kubectl apply.

  4. Verifica che Knative Serving sia stato abilitato 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 visualizzare i dettagli della versione di Knative serving: kubectl get all -n knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
    4. Verifica che tutti i deployment specifici di Knative Serving siano in stato di esecuzione negli spazi dei nomi knative-serving e appdevexperience.

Passaggi successivi

Configura l'installazione di Knative serving.