Distribuire l'applicazione in un cluster Kubernetes gestito Oracle
Per distribuire il contenitore in un cluster Oracle Container Engine for Kubernetes, caricare l'immagine in un registro, quindi creare un file manifest di distribuzione che descriva la distribuzione nel cluster Oracle Container Engine for Kubernetes.
Caricare l'immagine Docker in Oracle Cloud Infrastructure Registry
Oracle Cloud Infrastructure Registry è un registro privato in cui è possibile memorizzare le immagini delle applicazioni. È possibile utilizzare qualsiasi registro per questo scopo, purché l'infrastruttura cloud sia in grado di accedervi.
Per caricare l'immagine nel registro di Oracle Cloud Infrastructure, è necessario contrassegnarla in modo appropriato e quindi caricarla nel registro. Per caricare un'immagine nel registro Oracle Cloud Infrastructure, specificare il percorso completamente qualificato della posizione di destinazione nel registro Oracle Cloud Infrastructure in cui si desidera caricare l'immagine, incluso facoltativamente il nome di un repository. In questo caso, è stata già contrassegnata con il plugin Docker per gradle, specificando il nome della tag in build.gradle
.
tag = 'data-region.ocir.io/my-tenant/my-repo/omc-sample-app:latest'
Quando l'immagine è pronta per essere caricata nel registro Oracle Cloud Infrastructure, accedere alla console di Oracle Cloud Infrastructure per impostare un token di accesso in Oracle Cloud Infrastructure. Il token di accesso consente di collegarsi a Oracle Cloud Infrastructure utilizzando l'interfaccia della riga di comando Docker (CLI).
- Nella console di Oracle Cloud Infrastructure, nell'angolo superiore destro, fare clic su Menu Utente , quindi su Impostazioni utente per visualizzare i dettagli.
- Nella pagina Token di autenticazione fare clic su Genera token .
- Nella finestra di dialogo Genera token immettere una descrizione per il token di autenticazione e fare clic su Genera token . Viene visualizzato il nuovo token di autenticazione.
- Copiare il token di autenticazione in una posizione sicura da cui è possibile recuperarlo in seguito, poiché il token di autenticazione non verrà visualizzato di nuovo nella console di Oracle Cloud Infrastructure.
- Chiudere la finestra di dialogo Genera token e chiudere la console di Oracle Cloud Infrastructure.
Dopo aver creato il token di autenticazione, caricare l'immagine nel registro Oracle Cloud Infrastructure.
- Collegarsi a Oracle Cloud Infrastructure utilizzando l'interfaccia CLI Docker standard.
docker login data-region.ocir.io
- Immettere il nome utente nel formato
my-tenant/username@example.com
. Quando richiesto, immettere il token di autenticazione salvato in precedenza. - Caricare l'immagine nel registro Oracle Cloud Infrastructure.
docker push data-region.ocir.io/my-tenant/my-repo/omc-sample-app
Una volta caricata, è possibile visualizzare l'immagine nel repository.
Distribuire l'applicazione a un cluster di Oracle Container Engine for Kubernetes
Dopo aver caricato l'immagine, è necessario impostare il manifest di distribuzione Kubernetes per gestire l'applicazione come unità di distribuzione, quindi distribuire il cluster Kubernetes.
Questo file manifest descrive un oggetto Deployment
che deve disporre di una replica basata sull'immagine creata.
- Creare un file manifest
omc-sample-svc.yaml
nella directory corrente simile a quella riportata di seguito.apiVersion: apps/v1 kind: Deployment metadata: name: omc-sample-app spec: selector: matchLabels: app: omc-sample-app replicas: 1 template: metadata: labels: app: omc-sample-app spec: containers: - name: omc-sample-app image: data-region.ocir.io/my-tenant/my-repo/omc-sample-app:latest ports: - containerPort: 8080 --- apiVersion: v1 kind: Service metadata: name: omc-sample-app spec: selector: app: omc-sample-app ports: - protocol: "TCP" port: 8080 targetPort: 8080 type: LoadBalancer
La distribuzione viene denominata
omc-sample-app
, che crea i contenitori di applicazioni. Per abilitare l'accesso all'intera distribuzione, si crea un servizio che, in questo caso, è di tipoLoadBalancer
. Una volta distribuita, questa istanza di Oracle Cloud Infrastructure Load Balancing esegue automaticamente il provisioning per gestire e instradare il traffico all'applicazione. - Distribuire le immagini dell'applicazione eseguendo
kubectl
dalla directory corrente.kubectl apply -f omc-sample-svc.yaml