FAQ per Code Engine
Risposte alle domande comuni sul servizio IBM Cloud® Code Engine.
Che cos'è IBM Cloud Code Engine?
Code Engine è sviluppato da IBM ed è creato con molti componenti open source. L'obiettivo è quello di estendere le capacità di Kubernetes per aiutarvi a creare applicazioni moderne, containerizzate e serverless incentrate sui sorgenti, che vengono eseguite sul vostro cluster Kubernetes. La piattaforma è progettata per rispondere alle esigenze degli sviluppatori che oggi devono decidere quale tipo di applicazione vogliono eseguire nel cloud: applicazioni a 12 fattori, contenitori o funzioni. Per ulteriori informazioni, vedi Informazioni su Code Engine.
Con Code Engine, puoi distribuire le applicazioni, eseguire i lavori e persino creare il codice sorgente da un singolo dashboard.
Che cos' è un progetto?
Un progetto è un raggruppamento di entità Code Engine come applicazioni, job e build. Un progetto è basato su un namespace Kubernetes. Il nome del tuo progetto deve essere univoco all'interno del tuo gruppo di risorse, account utente e regione IBM Cloud®. I progetti vengono utilizzati per gestire le risorse e fornire accesso alle relative entità.
Un progetto fornisce i seguenti elementi.
- Fornisce uno spazio dei nomi univoco per i nomi entità.
- Gestisce l'accesso alle risorse del progetto (accesso in entrata).
- Gestisce l'accesso a servizi di backup, registri e repository (accesso in uscita).
- Ha un certificato generato automaticamente per Transport Layer Service ( TLS ).
Per ulteriori informazioni sui progetti, consultare Gestisci progetti.
Dove posso trovare esempi di codice?
Puoi trovare esempi di codice per aiutarti ad esplorare le funzionalità di Code Engine. Visita il nostro repository di esempi di codice Code Engine su GitHub.
Ho bisogno di più memoria! Posso aumentare i miei limiti?
Sì, puoi aumentare i tuoi limiti Code Engine contattando il supporto IBM.
Ho bisogno di un account hub Docker per utilizzare Code Engine?
Code Engine non richiede un account hub Docker. Sebbene Code Engine non esegua i contenitori, non devi comprendere la tecnologia del contenitore per distribuire i carichi di lavoro su Code Engine. Puoi iniziare con il codice sorgente e Code Engine crea l'immagine del contenitore per te e la archivia in uno spazio dei nomi IBM Cloud Container Registry di proprietà del tuo account. Sebbene IBM Cloud Container Registry venga utilizzato come registro del contenitore predefinito, Code Engine può eseguire il push e il pull delle immagini da qualsiasi altro registro pubblico e privato accessibile da IBM Cloud.
Qual è la differenza tra una build Docker sul mio sistema e una build in Code Engine?
Il risultato di una build Docker che esegui sul tuo sistema locale è la stessa immagine del contenitore che ottieni se esegui una build con lo stesso Dockerfile in Code Engine. Tuttavia, il build in Code Engine non è in esecuzione nel sistema locale, ma nel sistema Code Engine. Questa build in Code Engine ti offre diversi vantaggi.
- Non è necessario installare il software, ad esempio Docker Desktop, localmente.
- Puoi utilizzare le risorse fornite da Code Engine. Ad esempio, puoi sfruttare la velocità di IBM Cloud per eseguire il push e il pull delle immagini del registro del contenitore per te.
- Puoi creare la tua immagine del contenitore utilizzando la strategia di creazione dei pacchetti di build invece di Dockerfile, che rileva le tue origini per vari linguaggi e crea automaticamente un contenitore da esso.
- Se hai un'immagine creata con un processore non basato su Intel, Code Engine può ricrearla per te.
Perché le immagini dei container costruite con i Buildpack in Code Engine mostrano molte vulnerabilità?
Le immagini costruite con la strategia di compilazione Buildpacks usano un'immagine di base Ubuntu. Mentre questa immagine di base viene mantenuta attivamente, alcuni pacchetti Ubuntu ricevono le correzioni di sicurezza solo con il modello di
abbonamento Ubuntu Pro. Di conseguenza, la vostra immagine contiene pacchetti per i quali Canonical pubblica avvisi di vulnerabilità, ma fornisce patch solo agli abbonati a Ubuntu Pro. Poiché Code Engine utilizza la versione disponibile pubblicamente,
questi aggiornamenti non possono essere applicati automaticamente. Nei rapporti sulle vulnerabilità, è possibile identificarle controllando la versione a cui un pacchetto dovrebbe essere aggiornato. Se il numero di versione contiene esm,
si tratta di una correzione riservata a Ubuntu Pro.
Si noti che l'immagine di base contiene diversi pacchetti necessari per alcuni runtime. Questi pacchetti vengono installati perché Buildpacks non è in grado di determinare in modo affidabile, durante la compilazione, quali librerie di sistema l'applicazione potrebbe richiedere in fase di esecuzione. Anche se alcuni pacchetti potrebbero non essere necessari per la vostra applicazione specifica, sono inclusi per garantire il funzionamento di un'ampia gamma di carichi di lavoro.
Se si vuole avere il pieno controllo sull'immagine di base, compresi i pacchetti di Ubuntu presenti e quando vengono aggiornati, si consideri la possibilità di passare dalla strategia di compilazione di Buildpacks a quella di fornire il proprio file Docker. Con una build basata su Dockerfile, potete scegliere un'immagine di base minima, aggiornare i pacchetti esattamente come preferite e ridurre il numero di componenti che appaiono nelle scansioni di vulnerabilità.
Perché le immagini create con processori non Intel non funzionano con Code Engine?
Se disponi di un'immagine che esiste in un registro del contenitore e l'immagine è stata creata con un processore non basato su Intel, Code Engine non può eseguire la tua immagine del contenitore. Code Engine utilizza l'elaborazione basata su Intel. È possibile creare la propria immagine se si utilizza l'elaborazione Intel (processorex86 ). Puoi anche scegliere di lasciare che Code Engine gestisca il tuo processo di build. Per ulteriori informazioni, vedi Pianificazione della tua build.
Fare Code Engine supporto delle app WebSockets?
Sì. Puoi trovare un'applicazione di esempio che utilizza WebSockets visitando il nostro repository di esempio Code Engine su GitHub.
Il tempo massimo per qualsiasi connessione a un'applicazione è 10 minuti, anche se la connessione non è inattiva. Con Code Engine, è possibile configurare questo tempo di connessione con il valore timeout. Con la CLI, utilizza l'opzione
--timeout con il comando app create o il comando app update.
Dalla console, puoi impostare il valore Timeout per la tua applicazione dalla scheda Risorse e ridimensionamento. Per un'applicazione che utilizza WebSockets,, il client deve riconnettersi all'applicazione dopo
la chiusura della connessione. Quindi, se la tua applicazione ha bisogno di una connessione persistente, crea una nuova connessione prima che venga raggiunto il valore timeout.
Fare Code Engine supporto delle app gRPC?
Sì. Puoi trovare un'applicazione di esempio che utilizzi gRPC visitando il nostro repository di esempi Code Engine su GitHub.
Poiché gRPC dipende da HTTP/2, devi impostare il nome della porta su h2c e il valore della porta su 8080 e quindi la tua applicazione Code Engine può supportare il traffico HTTP/2. Utilizza la CLI Code Engine per configurare
l'opzione --port h2c:8080 con il comando app create o il comando app update per configurare la tua applicazione per utilizzare gRPC. Vedi Implementazione delle applicazioni con gRPC.
Code Engine fornisce un metodo per limitare l'accesso a un'entità particolare all'interno di un progetto Code Engine ?
No, in Code Engine, i ruoli applicati a qualsiasi entità Code Engine sono solo nell'ambito del progetto selezionato come contesto corrente. Pertanto, non puoi controllare le autorizzazioni sulle singole risorse all'interno di un progetto Code Engine.
Code Engine fornisce una specifica OpenAPI per la funzione distribuita?
No, Code Engine non genera o fornisce una specifica OpenAPI per le funzioni che distribuisci. Esistono pacchetti e strumenti disponibili per molti linguaggi di programmazione per generare una specifica OpenAPI dal codice.
Come posso esaminare i termini di servizio Code Engine ?
Per i termini dello SLA più recenti, consultare Termini di servizio.
Come posso fornire un feedback?
Il tuo feedback su Code Engine è importante per noi e ci aiuta a migliorare. È possibile fornire un feedback in diversi modi:
- Clic Apri il problema del documento alla fine di una pagina di documentazione per aprire un problema e fornire i propri commenti.
- Condividi il feedback tramite Slack. Potete partecipare alla discussione nel canale #code-engine.