Passaggio 3: installazione di apigeectl

Questo passaggio spiega come scaricare e installare apigeectl, configurare le directory di installazione e creare gli account di servizio Google Cloud e le credenziali TLS necessarie per il funzionamento di Apigee hybrid.

Scarica e installa apigeectl

apigeectl è l'interfaccia a riga di comando (CLI) per l'installazione e la gestione di Apigee hybrid in un cluster Kubernetes.

I passaggi seguenti spiegano come ottenere apigeectl:

  1. Archivia il numero di versione più recente in una variabile utilizzando il seguente comando:
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. Verifica che la variabile sia stata compilata con un numero di versione utilizzando il seguente comando. Se vuoi utilizzare una versione diversa, puoi salvarla in una variabile di ambiente.
    echo $VERSION
  3. Scarica il pacchetto di rilascio per il tuo sistema operativo utilizzando il seguente comando:

    Mac 64 bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz

    Linux a 64 bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz

    Mac 32 bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz

    Linux a 32 bit:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. Crea una directory sul sistema da utilizzare come directory di base per l'installazione di Apigee hybrid.
  5. Estrai il contenuto del file gzip scaricato nella directory base appena creata utilizzando il seguente comando:

    tar xvzf filename.tar.gz -C path-to-base-directory
  6. Cambia la directory nella directory di base utilizzando il comando cd.
  7. I contenuti tar vengono, per impostazione predefinita, espansi in una directory che contiene la versione e la piattaforma nel nome. Ad esempio: ./apigeectl_1.0.0-f7b96a8_linux_64. Rinomina la directory in apigeectl utilizzando il seguente comando:

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  8. Passa alla directory utilizzando il seguente comando:
    cd ./apigeectl

    Questa è la home directory apigeectl. È qui che si trova il comando eseguibile apigeectl.

  9. Crea una variabile di ambiente per archiviare a fini legali questo percorso della home directory utilizzando il seguente comando:
    export APIGEECTL_HOME=$PWD
  10. Verifica che la variabile contenga il percorso corretto utilizzando il seguente comando:
    echo $APIGEECTL_HOME

Configura la struttura della directory del progetto

La seguente struttura di directory è un approccio suggerito. Separa il software di release ibrido Apigee dai file di configurazione che devi creare. Mediante l'uso della variabile $APIGEECTL_HOME e dei link simbolici che crei, se vuoi, puoi passare facilmente a una nuova versione software. Consulta anche Upgrade di Apigee hybrid.

  1. Assicurati di essere nella directory di base (la directory in cui si trova la directory apigeectl) utilizzando questo comando:
    cd $APIGEECTL_HOME/..
  2. Crea una nuova cartella denominata hybrid-files utilizzando il comando seguente. Puoi assegnare alla directory il nome che vuoi, ma nei documenti il nome hybrid-files viene utilizzato in modo coerente. In seguito, archivierai i file di configurazione, le chiavi degli account di servizio e i certificati TLS in questa cartella. Questa cartella consente di mantenere i file di configurazione separati dall'installazione del software apigeectl.
    mkdir hybrid-files
  3. La struttura attuale della directory ora è la seguente:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. Cambia la directory nella cartella hybrid-files utilizzando il seguente comando:
    cd hybrid-files
  5. All'interno della directory hybrid-files, crea le seguenti sottodirectory per organizzare i file che creerai in seguito:
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. All'interno della directory hybrid-files, crea i seguenti link simbolici a $APIGEECTL_HOME. Questi link ti consentono di eseguire il comando apigeectl dall'interno della directory hybrid-files, come mostrato nell'esempio seguente:
    ln -s $APIGEECTL_HOME/tools tools
    ln -s $APIGEECTL_HOME/config config
    ln -s $APIGEECTL_HOME/templates templates
    ln -s $APIGEECTL_HOME/plugins plugins
  7. Per verificare che i link simbolici siano stati creati correttamente, esegui il comando seguente e assicurati che i percorsi dei link rimandino alle posizioni corrette:
    ls -l | grep ^l

Creazione di account di servizio

Apigee hybrid utilizza gli account di servizio Google Cloud per consentire ai componenti ibridi di comunicare mediante chiamate API autorizzate. In questo passaggio, utilizzerai uno strumento a riga di comando ibrido Apigee per creare un set di account di servizio. Lo strumento scarica automaticamente le chiavi private dell'account di servizio. Devi quindi aggiungere queste chiavi al file di configurazione del cluster ibrido Apigee.

Apigee fornisce uno strumento, create-service-account, che crea l'account di servizio, assegna i ruoli all'account di servizio e crea e scarica i file delle chiavi per l'account di servizio con un unico comando. Per scoprire i concetti di base di Google Cloud correlati, consulta gli articoli Creazione e gestione degli account di servizio e Creazione e gestione delle chiavi degli account di servizio.

  1. Assicurati di essere nella directory base_directory/hybrid-files che hai configurato in Configurare la struttura della directory del progetto.
  2. Esegui questo comando dall'interno della directory hybrid-files. Questo comando crea un account di servizio per il componente apigee-metrics e inserisce la chiave scaricata nella directory ./service-accounts.
    ./tools/create-service-account apigee-metrics ./service-accounts

    Quando viene visualizzato il seguente prompt, inserisci y:

    [INFO]: gcloud configured project ID is project_id.
     Press: y to proceed with creating service account in project: project_id
     Press: n to abort.

    Se è la prima volta che viene creata un'SA con il nome esatto assegnato dallo strumento, lo strumento lo crea solo e non devi fare altro.

    Tuttavia, se viene visualizzato il messaggio e il prompt seguenti, inserisci y per generare nuove chiavi:

    [INFO]: Service account apigee-metrics@project_id.iam.gserviceaccount.com already exists.
    ...
     [INFO]: The service account might have keys associated with it. It is recommended to use existing keys.
     Press: y to generate new keys.(this does not de-activate existing keys)
     Press: n to skip generating new keys.
    
  3. Ora crea il resto degli account di servizio utilizzando i comandi seguenti. Il comando create-service-account è interattivo e richiede una risposta per ogni account.
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts
    ./tools/create-service-account apigee-watcher ./service-accounts
  4. Verifica che le chiavi dell'account di servizio siano state create utilizzando il comando seguente. Sei responsabile della conservazione sicura di queste chiavi private. I nomi file della chiave sono preceduti dal nome del progetto Google Cloud.
    ls ./service-accounts

    Il risultato dovrebbe essere simile al seguente:

    gcp-project-id-apigee-cassandra.json
    gcp-project-id-apigee-logger.json
    gcp-project-id-apigee-mart.json
    gcp-project-id-apigee-metrics.json
    gcp-project-id-apigee-synchronizer.json
    gcp-project-id-apigee-udca.json
    gcp-project-id-apigee-watcher.json
  5. Assegna il ruolo Amministratore organizzazione Apigee a apigee-org-admin account di servizio:
  6. Verifica che l'indirizzo email per l'account di servizio apigee-org-admin segua il pattern service_account@PROJECT_ID.iam.gserviceaccount.com, come mostrato nell'esempio seguente:
    gcloud iam service-accounts list --filter "apigee-org-admin"
  7. Assegna il ruolo con il comando seguente:
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com --role roles/apigee.admin

    Dove PROJECT_ID è il tuo progetto Google Cloud. Se gli indirizzi email del tuo account di servizio sono diversi da questo pattern, sostituiscili di conseguenza.

    L'output dovrebbe includere un elenco di tutti gli account di servizio e i relativi ruoli, tra cui:

    - members:
      - serviceAccount:apigee-org-admin@hybrid-example-2.iam.gserviceaccount.com
      role: roles/apigee.admin

Crea certificati TLS

Devi fornire certificati TLS per il gateway in entrata di runtime nella tua configurazione ibrida Apigee. Ai fini di questa guida rapida (un'installazione di prova non in produzione), il gateway di runtime può accettare credenziali autofirmate. Nei passaggi seguenti, viene utilizzato openssl per generare le credenziali autofirmate.

In questo passaggio, creerai i file delle credenziali TLS e li aggiungerai alla directory base_directory/hybrid-files/certs. Nel Passaggio 4: configura il cluster, aggiungerai i percorsi dei file al file di configurazione del cluster.

  1. Assicurati di essere nella directory base_directory/hybrid-files configurata in Configurare la struttura della directory del progetto.
  2. Assicurati che il nome di dominio sia salvato nella variabile di ambiente DOMAIN utilizzando il seguente comando:
    echo $DOMAIN
  3. Esegui questo comando dall'interno della directory hybrid-files:
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN='$DOMAIN'' -days 3650

    Dove DOMAIN è il dominio che hai prenotato per l'installazione ibrida in Guida rapida (ibrida) Passaggio 5: configura il DNS.

    Questo comando crea una coppia di certificato/chiavi autofirmata che puoi utilizzare per l'installazione rapida.

  4. Assicurati che i file si trovino nella directory ./certs utilizzando il seguente comando:
    ls ./certs
      keystore.pem
      keystore.key

    Dove keystore.pem è il file del certificato TLS autofirmato e keystore.key è il file della chiave.

Ora hai una base da cui configurare, eseguire il deployment e gestire Apigee hybrid nel tuo cluster Kubernetes. Quindi, creerai un file che viene utilizzato da Kubernetes per il deployment dei componenti di runtime ibridi nel cluster.

1 2 3 (AVANTI) Passaggio 4: configura il cluster 5