Passaggio 3: installazione di apigeectl

Questo passaggio spiega come scaricare e installare apigeectl sulla macchina di amministrazione Anthos GKE di cui è stato eseguito il deployment on-prem. I passaggi includono configurare le directory di installazione, creando account di servizio Google Cloud necessari per consentire la comunicazione tra componenti ibridi e la creazione di credenziali TLS necessarie Apigee hybrid per operare.

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 riportati di seguito descrivono come ottenere apigeectl:

  1. Archivia il numero della 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 Se vuoi usare una versione diversa, puoi salvarla in una variabile di ambiente.
    echo $VERSION
  3. Scarica il pacchetto di release per il tuo sistema operativo utilizzando il seguente comando:

    Mac a 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 a 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 di base appena creata utilizzando seguente comando:

    tar xvzf filename.tar.gz -C path-to-base-directory
  6. Passa alla directory di base utilizzando il comando cd.
  7. Per impostazione predefinita, i contenuti tar vengono espansi in una directory con la versione e la piattaforma in il 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 questo comando:
    cd ./apigeectl

    Questa directory è la home directory di apigeectl. È qui che apigeectl eseguibile.

  9. Crea una variabile di ambiente in cui inserire il 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 Apigee hybrid rilasciare il software dai file di configurazione che devi creare. Tramite l'uso della variabile $APIGEECTL_HOME e dei link simbolici che crei, puoi passare facilmente a una nuova versione del software, se vuoi. Consulta anche Eseguire l'upgrade di Apigee hybrid.

  1. Assicurati di essere nella directory di base (la directory in cui la directory apigeectl utilizzando il seguente comando:
    cd $APIGEECTL_HOME/..
  2. Crea una nuova cartella denominata hybrid-files utilizzando il seguente comando. Puoi concedere alla directory il nome che desideri, ma nei documenti viene utilizzato il nome hybrid-files costantemente. In un secondo momento, in questa cartella memorizzerai i file di configurazione, le chiavi dell'account di servizio e i certificati TLS. Questa cartella ti consente di tenere separati i file di configurazione dall'installazione del software apigeectl.
    mkdir hybrid-files
  3. La struttura attuale della directory è la seguente:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. Cambia directory nella cartella hybrid-files utilizzando il seguente comando:
    cd hybrid-files
  5. All'interno della directory hybrid-files, crea quanto segue 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 Directory hybrid-files come mostrata 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 collegamenti simbolici siano stati creati correttamente, esegui questo comando e rendi assicurati che i percorsi dei link indirizzino alle posizioni corrette:
    ls -l | grep ^l

Creazione di account di servizio

Apigee hybrid utilizza Google Cloud account di servizio per consentire ai componenti ibridi di comunicare rendendo Chiamate API. In questo passaggio, utilizzerai uno strumento a riga di comando ibrido Apigee per creare un set di servizi . Lo strumento scarica anche le chiavi private degli 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, crea e scarica i file chiave per il servizio con un singolo comando. Per saperne di più sui concetti correlati di Google Cloud, consulta Creazione in corso e la gestione degli account di servizio e Creazione in corso... e la gestione delle chiavi degli account di servizio.

  1. Assicurati di trovarti nella directory base_directory/hybrid-files configurata in Configurare la struttura della directory del progetto.
  2. Esegui questo comando dalla directory hybrid-files. Questo comando crea un account di servizio per il componente apigee-metrics e posiziona la chiave scaricata nella directory ./service-accounts.
    ./tools/create-service-account apigee-metrics ./service-accounts

    Quando viene visualizzato questo 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 creato un SA con il nome esatto assegnato dallo strumento, lo strumento lo crea e non devi fare altro.

    Se, invece, visualizzi il seguente messaggio e prompt, 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 riportati di seguito. 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 seguente comando. Sei responsabile dell'archiviazione le tue chiavi private in modo sicuro. I nomi file della chiave sono preceduti dal prefisso del 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 agli account di servizio apigee-org-admin:
  6. Verifica che l'indirizzo email dell'account di servizio apigee-org-admin rispetti 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 seguente comando:
    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 differiscono da questo pattern, sostituiscili di conseguenza.

    L'output deve includere un elenco di tutti gli account di servizio e dei relativi ruoli, inclusi i seguenti:

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

Creare certificati TLS

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

In questo passaggio creerai i file di credenziali TLS e li aggiungerai a nella directory base_directory/hybrid-files/certs. Nella 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 configurato in Configurare la struttura della directory del progetto.
  2. Assicurati che il tuo nome di dominio sia salvato nell'ambiente DOMAIN utilizzando il comando seguente:
    echo $DOMAIN
  3. Esegui questo comando dalla 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 riservato per l'installazione ibrida in Passaggio 5 della configurazione rapida (ibrida): configura il DNS.

    Questo comando crea una coppia di chiavi/certificati autofirmati che puoi utilizzare per l'installazione guidata.

  4. Verifica 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 di partenza da cui puoi configurare, eseguire il deployment e gestire Apigee hybrid nel tuo cluster Kubernetes. Ora creerai un file utilizzato da Kubernetes per il deployment dei componenti di runtime ibridi nel cluster.

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