Distribuzione dei carichi di lavoro dell'app dalle immagini in IBM Cloud Container Registry
Distribuisci la tua app con Code Engine utilizzando l'immagine disponibile all'indirizzo IBM Cloud® Container Registry. Puoi creare un'app dalla console o con la CLI.
Prima di iniziare
-
Devi avere un'immagine in IBM Cloud® Container Registry. Per ulteriori informazioni, vedi Introduzione a Container Registry. In alternativa, puoi creare un'immagine da origine repository o da origine locale.
-
Verifica di poter accedere al Registro di sistema. Consultare Impostazione delle autorizzazioni per i registri dei contenitori.
Ti interessa configurare il tuo progetto in modo che tutti gli utenti possano archiviare e accedere alle immagini su Container Registry senza dover creare manualmente i segreti di registro? Con autorizzazioni sufficienti, è possibile configurare questo accesso al registro predefinito in base all'ubicazione (regione). Se non si dispone di autorizzazioni sufficienti per eseguire queste azioni, è possibile utilizzare questa pagina per comprendere le autorizzazioni richieste. Consultare Configurazione delle impostazioni a livello di progetto.
Distribuzione di un'applicazione che fa riferimento a un'immagine in Container Registry con la console
Distribuire un'applicazione che utilizza un'immagine presente su Container Registry tramite la console Code Engine.
Code Engine può eseguire automaticamente il pull delle immagini da uno spazio dei nomi Container Registry nell'account. Per eseguire il pull delle immagini da un account Container Registry diverso o da un account Docker Hub privato, vedi Distribuzione dei carichi di lavoro dell'applicazione dalle immagini in un registro privato.
- Apri la console Code Engine.
- Seleziona " Inizia a creare ".
- Seleziona un progetto dall'elenco dei progetti disponibili. È anche possibile crearne uno nuovo. È necessario disporre di un progetto selezionato per distribuire un'applicazione.
- Seleziona " Applicazione ".
- Inserisci un nome per l'applicazione; ad esempio,
helloapp. Assegna alla tua applicazione un nome che sia univoco all'interno del progetto. - Selezionare " Usa un'immagine container esistente " e fare clic su " Configura immagine ".
- Selezionare un'ubicazione del registro del contenitore, come
IBM Registry Dallas. - Selezionare
Code Engine managed secretper Segreto registro. Poiché questo esempio utilizza un'immagine in un namespace Container Registry nel tuo account, Code Engine può creare e gestire automaticamente il segreto del registro per te. - Seleziona uno spazio dei nomi esistente e il nome dell'immagine nel registro per l'applicazione Code Engine a cui fare riferimento. Ad esempio, seleziona
mynamespacee seleziona l'immaginehello_repoin quel namespace. - Selezionare un valore per Tag; ad esempio,
latest. - Fai clic su Done.
- Modifica le impostazioni di runtime o le variabili di ambiente per la tua applicazione. Per ulteriori informazioni su queste opzioni, consulta Opzioni per la visibilità dell'endpoint delle applicazioni e Opzioni per la distribuzione di un'applicazione.
- Fare clic su Crea per creare l'applicazione.
- Una volta modificato lo stato dell'applicazione in Pronto, è possibile verificare l'applicazione. Fare clic su Applicazione di test, quindi fare clic su Invia richiesta nel riquadro Applicazione di test. Per aprire l'applicazione in una pagina web, clicca su Applicazione URL.
Ora che hai distribuito la tua applicazione, puoi visualizzare le informazioni sulle revisioni dell'applicazione e qualsiasi istanza in esecuzione e i dettagli di configurazione.
Se vuoi aggiungere l'accesso al registro a una istanza Container Registry che non è presente nel tuo account, vedi Aggiunta dell'accesso a Container Registry.
Distribuzione di una applicazione con un'immagine in Container Registry con la CLI
Distribuire un'applicazione che utilizza un'immagine presente su IBM Cloud® Container Registry tramite la CLI con il ibmcloud ce app create comando. Per un elenco completo delle opzioni, consultare il comando
ibmcloud ce app create.
Prima di iniziare
- Imposta il tuo ambiente CLICode Engine.
- Creare e utilizzare un progetto.
- Prima di poter lavorare con un'applicazione Code Engine che fa riferimento ad una immagine in Container Registry, devi prima aggiungere l'accesso al registro in modo che Code Engine possa eseguire il pull dell'immagine quando viene distribuita l'applicazione. Per informazioni sulle autorizzazioni richieste per accedere ai registri delle immagini, consultare Impostazione delle autorizzazioni per i registri delle immagini.
-
Per aggiungere l'accesso a Container Registry, creare una chiave API IAM. Per creare una IBM Cloud Con la CLI, eseguire il comando '
iam api-key-create. Ad esempio, per creare una chiave API chiamata 'cliapikeycon una descrizione di 'My CLI API keye salvarla in un file chiamato 'key_file, eseguire il seguente comando:ibmcloud iam api-key-create cliapikey -d "My CLI API key" --file key_fileSe si sceglie di non salvare la chiave in un file, è necessario registrare la chiave API visualizzata quando la si crea. Non puoi richiamarla successivamente.
-
Dopo aver creato la tua chiave API, aggiungi l'accesso al registro a Code Engine. Per aggiungere l'accesso a Container Registry con la CLI, utilizza il comando
ibmcloud ce secret create --format registryper creare una parola segreta del registro. Ad esempio, il seguente comando crea l'accesso del Registro di sistema a un'istanza Container Registry denominatamyregistry. Tenere presente che anche se le opzioni--servere--usernamesono specificate nel comando di esempio, il valore predefinito per l'opzione--serverèus.icr.ioe l'opzione--usernameèiamapikeyquando il server èus.icr.io.ibmcloud ce secret create --format registry --name myregistry --server us.icr.io --username iamapikey --password APIKEYOutput di esempio
Creating registry secret 'myregistry'... OK -
Crea la tua applicazione e fai riferimento all'immagine
hello_repoin Container Registry. Ad esempio, utilizza il comandoibmcloud ce app createper creare l'applicazionemyhelloappper fare riferimento aus.icr.io/mynamespace/hello_repoutilizzando le informazioni di accessomyregistry.ibmcloud ce app create --name myhelloapp --image us.icr.io/mynamespace/hello_repo --registry-secret myregistryIl formato del nome dell'immagine per questa applicazione è
REGISTRY/NAMESPACE/REPOSITORY:TAGdoveREGISTRYeTAGsono facoltativi. Se non viene specificatoREGISTRY, il valore predefinito èdocker.io. Se non viene specificatoTAG, il valore predefinito èlatest. -
Dopo che la tua app è stata distribuita, puoi accedervi. Per ottenere l' URL e della tua app, esegui
ibmcloud ce app get --name myhelloapp --output url. Quando esegui il curl dell'applicazionemyhelloapp, viene restituitoHello World.curl https://myhelloapp.abcdabcdhye.us-south.codeengine.appdomain.cloud
Passi successivi
-
Una volta che l'app è stata distribuita, accedi all'app tramite un URL.
-
Puoi creare un' associazione dominio personalizzata e assegnarla alla tua applicazione. Per ulteriori informazioni sulla distribuzione delle applicazioni tra più regioni con un nome dominio personalizzato, vedi Configurazione di un'applicazione altamente disponibile.
-
Ora che la tua app è stata distribuita, prendi in considerazione la possibilità di rendere le tue app basate sugli eventi. Utilizzando le sottoscrizioni agli eventi, puoi attivare le tue applicazioni in base alle pianificazioni periodiche o impostare la tua applicazione per reagire agli eventi come i caricamenti di file o i messaggiKafka.
Dopo che la tua applicazione è stata distribuita, puoi aggiornare la tua applicazione distribuita e il suo codice di riferimento utilizzando uno qualsiasi dei seguenti modi, indipendentemente da come hai creato o precedentemente aggiornato la tua applicazione:
-
Se hai un'immagine del contenitore, secondo lo standard OCI(Open Container Initiative), devi fornire solo un riferimento all'immagine, che punta all'ubicazione del tuo registro del contenitore quando distribuisci la tua applicazione. Puoi distribuire la tua applicazione con una immagine in un registro pubblico o in un registro privato.
Se hai creato la tua applicazione utilizzando il comando
app createe hai specificato l'opzione--build-sourceper creare l'immagine del contenitore dall'origine locale o del repository e vuoi modificare la tua applicazione in modo che punti a un'altra immagine del contenitore, devi prima rimuovere l'associazione della build dalla tua applicazione. Ad esempio, eseguireibmcloud ce application update -n APP_NAME --build-clear. Dopo aver rimosso l'associazione della build dalla propria applicazione, è possibile aggiornare l'applicazione in modo che faccia riferimento a una diversa immagine. -
Se stai iniziando con il codice sorgente che risiede in un repository Git, puoi scegliere di lasciare che Code Engine si occupi della creazione dell'immagine dalla tua origine e della distribuzione dell'applicazione con una singola operazione. In questo scenario, Code Engine carica la tua immagine in IBM Cloud® Container Registry. Per ulteriori informazioni, vedi Distribuzione della tua applicazione dal codice sorgente del repository. Se vuoi più controllo sulla build della tua immagine, puoi scegliere di creare l'immagine con Code Engine prima di distribuire la tua applicazione.
-
Se stai iniziando con il codice sorgente che risiede su una workstation locale, puoi scegliere di consentire a Code Engine di creare l'immagine dalla tua origine e distribuire l'applicazione con un singolo comando della CLI. In questo scenario, Code Engine carica la tua immagine in IBM Cloud® Container Registry. Per ulteriori informazioni, vedi Distribuzione della tua applicazione dal codice di origine locale con la CLI. Se vuoi più controllo sulla build della tua immagine, puoi scegliere di creare l'immagine con Code Engine prima di distribuire la tua applicazione.
Ad esempio, potresti scegliere di consentire a Code Engine di gestire la creazione della tua origine locale mentre evolvi lo sviluppo della tua origine per l'applicazione. Quindi, una volta maturata l'immagine, puoi aggiornare l'applicazione distribuita per fare riferimento all'immagine specifica che desideri. È possibile ripetere questo processo in base alle necessità.
Quando distribuisci la tua applicazione aggiornata, viene scaricata e distribuita l'ultima versione della tua immagine del contenitore di riferimento, a meno che non venga specificata una tag per l'immagine. Se viene specificata una tag per l'immagine, l'immagine contrassegnata viene utilizzata per la distribuzione.
Cerchi altri esempi di codice? Dai un'occhiata agli esempi disponibili nel repository " IBM Cloud Code Engine " su GitHub.