Attività destinazioni ospitate

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Annullamento del deployment di un proxy per i target ospitati

Quando annulli il deployment di un proxy perimetrale che include un'applicazione Target ospitati, Non è stato eseguito il deployment dell'app Target in hosting, ma l'immagine dell'applicazione sottostante non viene eliminata. Se eseguire nuovamente il deployment del proxy, viene rieseguito il deployment dell'app target ospitati.

Eliminazione di un proxy target ospitati

Dopo aver eliminato un proxy target ospitati, l'esecuzione delle istanze di runtime sottostanti verrà interrotta in un certo periodo di tempo. Tuttavia, il codice dell'applicazione verrà mantenuto.

Accesso ai file di log

I file di log sono utili per il debug e la risoluzione dei problemi. Puoi visualizzare due tipi di file di log per un deployment di Target ospitati:

  • Crea log: mostra l'output relativo al deployment e alla creazione di un'app per i target ospitati.
  • Log di runtime: mostra l'output relativo all'app Hosted Destinazioni in esecuzione. Log di runtime hanno un ambito nell'ambiente e mostrano le informazioni di log per la revisione del proxy attualmente di cui è stato eseguito il deployment.

Accesso ai log dalla UI Edge

  1. Vai a: apigee.com/edge
  2. Inserisci le tue credenziali di accesso e fai clic su Accedi.
  3. Seleziona Sviluppo > Proxy API nel menu di navigazione laterale.
  4. Seleziona il proxy per cui vuoi visualizzare i log.
  5. Fai clic sulla scheda Sviluppo.
  6. Per visualizzare il log di build, fai clic su Log di build. di Gemini Advanced.
  7. Per visualizzare il log di runtime, fai clic su Log di runtime.

Accesso ai log con l'API

Puoi anche utilizzare un'API Edge per recuperare i log delle destinazioni ospitate. Per maggiori dettagli, vedi Ottieni i log di Node.js memorizzati nella cache.

Utilizzo di un repository npm privato

Questa sezione spiega come eseguire il deployment di un proxy Node.js negli obiettivi ospitati nei casi in cui usa un repository di Gestione dei partner di rete privato il tuo ambiente di sviluppo.

Cosa devi sapere sull'utilizzo di un repository privato

Quando esegui il deployment di un'app Node.js in Edge, tutte le dipendenze del progetto vengono importate automaticamente nell'ambito del processo di deployment. In sostanza, gli obiettivi ospitati eseguono npm install sul tuo codice quando ne viene eseguito il deployment. Tuttavia, se nel tuo ambiente di sviluppo utilizzi un repository NPM privato, le dipendenze non possono essere risolte nel cloud. Nella in questo caso, la soluzione è utilizzare l'opzione --bundled-dependencies quando utilizzi l'utilità di deployment apigeetool. Vedi anche Esegui il deployment di Node.js dal tuo sistema a Edge.

Quando usi il flag --bundled-dependencies su apigeetool, L'app Node.js verrà caricata nelle destinazioni ospitate e in tutti i file locali/privati elencati nell'arraydDependencies in package.json vengono compressi e caricati con il bundle.

Sebbene non si tratti di una situazione comune, tieni presente che se esegui il mirroring interno di un repository di Gestione dei partner di rete pubblico, il deployment non riuscirà se il bundle di deployment include un file .npmrc o package-lock.json che indica al tuo mirror privato. In questo caso, assicurati di omettere .npmrc o package-lock.json dal bundle proxy di cui intendi eseguire il deployment.

Deployment con un repository di Gestione dei partner di rete privato

Per utilizzare i moduli forniti da un repository privato di Gestione dei partner di rete, segui questi passaggi:

  1. Accedi a npm:
    npm login
  2. Ottieni un token di autenticazione npm:
    1. Individua il file .npmrc (dovrebbe essere in ~/.npmrc).
    2. Nel file .npmrc, prendi nota del token alla fine della riga, simile a questo:

      //registry.npmjs.org/:_authToken=****
    3. Oppure usa i comandi npm token <list | create | revoke> per elencare, creare o revocare un token di autenticazione. Vedi il token npm-token documentazione per ulteriori dettagli.
  3. Accedi alla pagina di configurazione delle mappe chiave-valore, come descritto di seguito.

    Edge

    Per accedere alla pagina di configurazione delle mappe chiave-valore utilizzando l'interfaccia utente di Edge:

    1. Accedi a apigee.com/edge.
    2. Seleziona Amministratore > Ambienti > Mappe chiave-valore nella barra di navigazione a sinistra.

    Perimetrale classico (Private Cloud)

    Per accedere alla pagina di configurazione delle mappe chiave-valore utilizzando l'interfaccia utente di Edge classico:

    1. Accedi a http://ms-ip:9000, dove ms-ip è Indirizzo IP o nome DNS del nodo del server di gestione.
    2. Seleziona API > Configurazione dell'ambiente > Mappe chiave-valore nella barra di navigazione superiore.
  4. Fai clic su + Mappa valori chiave.
  5. Nella finestra di dialogo Nuova mappa valori chiave, inserisci un nome e seleziona Criptato.
  6. Fai clic su Aggiungi.
  7. Aggiungi il token di autenticazione che hai individuato o creato in precedenza come nuova voce in ciascuna delle KVM appena creato.
  8. Nel file app.yaml aggiungi una voce che faccia riferimento a KVM e chiave associati al token di autenticazione npm. Il sito dovrebbe avere il seguente aspetto:
  9. env:
    - name: NPM_TOKEN
     valueRef:
       name: npm_store
       key: private_token

    Dove:

    • L'attributo name di primo livello corrisponde al nome dell'ambiente che verrà creata.
    • Il name in valueRef corrisponde alla KVM che creati in precedenza.
    • L'attributo key corrisponde alla chiave mappata al token npm che hai aggiunte alla KVM.
  10. Crea un file .npmrc nella stessa directory del file package.json. Questo dovrebbe essere simile a questo:
    //registry.npmjs.org/:_authToken=${NPM_TOKEN}
    oppure, se non utilizzi registry.npmjs.org, puoi impostare l'ambito nel file .npmrc aggiungendo una riga come questa @myscope:registry=https://mycustomregistry.example.org Consulta anche la documentazione di npmrc.
  11. Carica o aggiorna il proxy Node.js con il file .npmrc e i file app.yaml inclusi.
  12. Assicurati che il proxy nuovo o aggiornato esegua il deployment e funzioni con il repository privato desiderato in maggior dettaglio più avanti in questo modulo.
  13. Se il proxy non viene eseguito, controlla i log di build per verificare che l'installazione del proxy non sia riuscita. modulo npm privato. Se sì:
    1. Nella scheda Sviluppo, assicurati che sia presente il file .npmrc.
    2. Assicurati che il token sia valido (prova a installare il modulo localmente con il token presente) nel file kvm).
    3. Se utilizzi un ambito personalizzato, assicurati che sia impostato.

Specifica della versione di Gestione dei partner di rete per le dipendenze in bundle

Per impostazione predefinita, Gestione dei partner di rete v4 viene utilizzata per installare le dipendenze in bundle nell'ambiente Destinazioni ospitate. Tuttavia, se vuoi utilizzare una versione di Gestione dei partner di rete diversa, puoi specificarla nel NPM_VERSION variabile di ambiente. Puoi impostare questa variabile nel file manifest dell'applicazione. Per maggiori dettagli, consulta la sezione Elementi del file manifest.

Se utilizzi dipendenze in bundle e se non specifichi NPM_VERSION, target ospitati utilizza la versione 4 di Gestione dei partner di rete per impostazione predefinita. Se non utilizzi dipendenze in bundle, la versione di Gestione dei partner di rete inclusa nel runtime Node.js specificato.

Esempio di dipendenze in bundle

Per un esempio che illustra la funzionalità delle dipendenze in bundle con destinazioni ospitate, consulta Come creare un'applicazione Node.js con funzioni ospitate utilizzando moduli personalizzati.

Aggiungi un endpoint del controllo di integrità

Puoi implementare un endpoint per il controllo di integrità per la tua applicazione Node.js. Apigee utilizza questo endpoint quando L'applicazione Node.js inizia a verificare che sia attiva e in esecuzione nel container.

Per impostazione predefinita, l'endpoint previsto da Apigee è /health. Puoi modificare l'impostazione predefinita specificando l'endpoint in una variabile di ambiente denominata HOSTED_TARGET_HEALTH_CHECK_PATH. Puoi impostare questa variabile nel file manifest dell'applicazione . Per maggiori dettagli, consulta la sezione Elementi del file manifest.

L'implementazione di un endpoint del controllo di integrità non è richiesta. Tuttavia, se implementi un controllo di integrità tieni presente quanto segue:

  • Se la tua applicazione si chiude quando Apigee raggiunge l'endpoint, l'applicazione non verrà avviata come previsto.
  • Se l'endpoint restituisce uno stato HTTP 404 - Non trovato, non è un problema. L'/health o HOSTED_TARGET_HEALTH_CHECK_PATH viene utilizzato solo per verificare se l'applicazione è in esecuzione. La risposta effettiva viene ignorata.
di Gemini Advanced.

Cambiare la posizione della cache di Gestione dei partner di rete

Le versioni più recenti di Node.js utilizzano una versione di Gestione dei partner di rete che utilizza /root/.npm per la cache di Gestione dei partner di rete. Questa posizione presenta un problema per i target ospitati perché l'indirizzo della directory è di sola lettura poiché il runtime della destinazione ospitata utilizza un file system tmpfs in cui è scrivibile solo /tmp. Per aggirare il problema, puoi impostare la variabile di ambiente npm_config_cache in della tua applicazione app.yamlfile (il file manifest) in una directory all'interno di /tmp. Ad esempio:

  runtime: node
  application: my-express-app
  env:
    - name: npm_config_cache
      value: /tmp/.npm
    - name: NODE_ENV
      value: production
    - name: LOG_LEVEL
      value: 3
  

Esegui l'applicazione senza Gestione dei partner di rete

Per impostazione predefinita, i target ospitati utilizzano npm start per eseguire l'applicazione di destinazione ospitata. Ma Nell'attività precedente abbiamo discusso di un problema relativo all'uso della gestione dei partner di rete, poiché le versioni più recenti cercheranno di usare /root/.npm per la cache di Gestione dei partner di rete, che non è scrivibile e genera il target ospitato l'avvio non riesce. Mentre l'attività precedente può risolvere questo problema, un'altra opzione è di eseguire l'applicazione senza Gestione dei partner di rete. Per farlo, puoi utilizzare command e args nella tabella app.yamlfile (il file manifest) per eseguire direttamente il tuo target ospitato utilizzando node index.js. Ad esempio:

  runtime: node
  application: my-express-app
  command: node
  args:
    - index.js
  env:
    - name: NODE_ENV
      value: production
    - name: LOG_LEVEL
      value: 3
  
Naturalmente, puoi utilizzare il comando che ritieni più adatto e node index.js è solo un esempio.