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).

  1. Nella console di Oracle Cloud Infrastructure, nell'angolo superiore destro, fare clic su Menu Utente , quindi su Impostazioni utente per visualizzare i dettagli.
  2. Nella pagina Token di autenticazione fare clic su Genera token .
  3. 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.
  4. 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.
  5. 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.

  1. Collegarsi a Oracle Cloud Infrastructure utilizzando l'interfaccia CLI Docker standard.

    docker login data-region.ocir.io

  2. Immettere il nome utente nel formato my-tenant/username@example.com. Quando richiesto, immettere il token di autenticazione salvato in precedenza.
  3. 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.

  1. 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 tipo LoadBalancer. Una volta distribuita, questa istanza di Oracle Cloud Infrastructure Load Balancing esegue automaticamente il provisioning per gestire e instradare il traffico all'applicazione.

  2. Distribuire le immagini dell'applicazione eseguendo kubectl dalla directory corrente.

    kubectl apply -f omc-sample-svc.yaml