Utilizzare un'applicazione esistente in Cloud Code for IntelliJ

Se hai già un progetto configurato con manifest di Kubernetes, un Dockerfile o Jib per compilare le immagini, puoi aprirlo e utilizzarlo con il plug-in. L'unica configurazione aggiuntiva necessaria è un file YAML di Skaffold che può essere generato automaticamente o creato utilizzando il modello fornito.

Dopo aver completato la configurazione del file YAML di Skaffold, assicurati di specificare dove sono archiviate le immagini container e dove sta per essere eseguito il push dell'immagine del progetto.

Bootstrap del progetto automatico

Il progetto deve avere uno o più manifest Kubernetes. Se Cloud Code rileva qualsiasi manifest Kubernetes nel progetto, tenterà di eseguire l'avvio.

Se Cloud Code non rileva una configurazione Skaffold esistente, ti verrà chiesto di aiutarti a configurarla.

Prerequisiti

Il progetto deve soddisfare i seguenti prerequisiti per poter creare un file skaffold.yaml ed eseguire le configurazioni necessarie:

  • (Opzione 1) Il progetto ha un Dockerfile ed è configurato per Jib oppure

  • (Opzione 2) Il progetto è compilabile utilizzando Buildpack e dispone di risorse Kubernetes.

Configurare la configurazione di esecuzione di Kubernetes

Se i prerequisiti sono soddisfatti, Cloud Code ti chiederà di creare un file skaffold.yaml (se non esiste già) e le eventuali configurazioni di esecuzione necessarie:

Notifica con un link per creare le configurazioni di esecuzione di Cloud Code Kubernetes

  1. Fai clic sulla notifica. Se possibile, viene creata automaticamente la configurazione.

    Se la creazione automatica della configurazione di Skaffold non è possibile a causa del rilevamento di più immagini o compilatori, Cloud Code mostrerà una finestra di dialogo che ti chiede di fornire le mappature tra le immagini e i compilatori rilevati.

    Specifica le impostazioni di compilazione da utilizzare nella configurazione di Skaffold

    In alternativa, puoi anche configurare una configurazione di Skaffold andando a Strumenti > Cloud Code > Kubernetes e selezionando Aggiungi supporto Kubernetes.

    Questa opzione analizza le risorse Kubernetes del progetto e genera un file skaffold.yaml (se non esiste già) e le configurazioni di esecuzione necessarie. Le due configurazioni di esecuzione generate includono una per eseguire il progetto su Kubernetes e una per lo sviluppo su un cluster Kubernetes.

  2. Dopo aver aggiunto il supporto, puoi iniziare a eseguire e a eseguire il debug del progetto su Kubernetes utilizzando le configurazioni di esecuzione appena aggiunte.

Creare manualmente una configurazione Skaffold di Cloud Code

Puoi scegliere di creare manualmente un nuovo file skaffold.yaml o aggiungerne uno esistente al progetto.

Per creare manualmente un file skaffold.yaml utilizzando i modelli in tempo reale:

  1. Crea un nuovo file denominato skaffold.yaml nella directory principale del progetto (fai clic con il tasto destro del mouse > Nuovo > File).

  2. Con il cursore nel nuovo file, premi Ctrl+Space per visualizzare i suggerimenti di modelli in tempo reale e poi scegli il modello Skaffold che preferisci.

    Utilizzo del modello YAML di Skaffold

  3. Compila il campo immagine con il nome dell'immagine del progetto e il campo manifest con un elenco delle risorse Kubernetes che vuoi eseguire il deployment dall'IDE.

  4. Dopo che Cloud Code ha stabilito che il file skaffold.yaml è valido, fai clic sul prompt per creare le configurazioni di esecuzione di Kubernetes.

    Crea una notifica relativa al target di esecuzione di Kubernetes

Esempi di configurazioni di Skaffold per Cloud Code

  • Build basate su Dockerfile:

    build:
      artifacts:
        - image: image_name
    deploy:
      kubectl:
        manifests:
          - k8s/web.yaml
          - k8s/backend.yaml
    
  • Sezione di compilazione per i progetti Java Maven/Gradle con il plug-in Jib (la sezione di deployment rimane invariata rispetto all'esempio precedente):

    build:
    artifacts:
    - image: image_name
      jib: {}
    
  • Se vuoi definire configurazioni di compilazione, test e deployment per diversi contesti, puoi avere profili diversi. Ecco un esempio di profilo Cloud Build per configurare Cloud Code per creare immagini con Cloud Build:

    profiles:
    # use the cloudbuild profile to build images using Google Cloud Build
    - name: cloudbuild
      build:
        googleCloudBuild: {}
    
  • Se vuoi eseguire il deployment del progetto con Helm, consulta la documentazione di Helm.

Specificare dove vengono archiviate le immagini container

Spazio di archiviazione delle immagini container

Prima di eseguire il deployment dell'applicazione, devi definire un repository di immagini predefinito da utilizzare con il progetto.

Per impostazione predefinita, il progetto è configurato per utilizzare il nome dell'immagine specificato nei manifest Kubernetes. Puoi anche personalizzare questa specifica immagine. Dopo aver configurato il repository preferito (Artifact Registry, Container Registry, DockerHub, repository privato e così via), modifica le configurazioni di esecuzione e specificalo come repository di immagini predefinito nelle impostazioni di configurazione di esecuzione. Per le immagini di Google Container Registry, il campo è dotato di completamento automatico per aiutarti a trovare più velocemente il repository di Container Registry.

Puoi accedervi dalla finestra di dialogo Esegui/Esegui il debug delle configurazioni nella barra delle app in alto in Modifica configurazioni > Sviluppa su Kubernetes > Repository di immagini.

Il repository di immagini predefinito nella configurazione di esecuzione viene impostato con il formato "gcr.io/" e vengono presentate le opzioni di completamento automatico in base al progetto corrente e al cluster attivo

Per saperne di più su come specificare le preferenze per le immagini container, consulta la guida alla configurazione delle impostazioni delle immagini container.

Impostazioni di compilazione

Dopo aver impostato l'immagine del contenitore, puoi configurarne le impostazioni di compilazione. Cloud Code supporta i tipi di elementi Docker, Jib e Buildpack.

Nella scheda Compilazione / dispiegamento delle impostazioni di configurazione dell'esecuzione (Modifica configurazioni > Sviluppa su Kubernetes), puoi configurare le impostazioni di compilazione per il tuo profilo predefinito.

Impostazioni di compilazione visualizzate nella scheda Compila/Esegui il deployment

Per saperne di più su come specificare le impostazioni di compilazione per l'immagine, consulta la guida alla configurazione delle preferenze di compilazione delle immagini container.

Passaggi successivi

Assistenza

Per inviare un feedback o segnalare un problema nell'IDE IntelliJ, vai a Strumenti > Cloud Code > Guida / Informazioni > Invia feedback o segnala un problema per segnalare un problema su GitHub.