Creazione di immagini di macchine

In questa sezione viene descritto come creare immagini di macchine personalizzate da utilizzare come modelli di macchine virtuali del nodo per un cluster di gestione autonomo Tanzu Kubernetes Grid (TKG) e i cluster del carico di lavoro che crea.

Per creare immagini personalizzate per un cluster supervisore vSphere with Tanzu, vedere Repository di Image Builder di vSphere Tanzu Kubernetes Grid.

Questo argomento fornisce informazioni sulle immagini personalizzate di TKG.

Nota

per utilizzare un'immagine di macchina personalizzata per i nodi del cluster di gestione, è necessario distribuire il cluster di gestione con l'interfaccia del programma di installazione e non da un file di configurazione.

Panoramica

Ogni immagine di macchina personalizzata include una versione del sistema operativo (OS) di base e una versione di Kubernetes, insieme a eventuali personalizzazioni aggiuntive, in un'immagine che viene eseguita in vSphere. Le immagini personalizzate di Linux possono essere eseguite anche nell'infrastruttura di AWS o Microsoft Azure. Un'immagine personalizzata deve essere basata sulle versioni del sistema operativo supportate da Tanzu Kubernetes Grid. Il sistema operativo di base può essere un sistema operativo che VMware supporta ma non distribuisce, ad esempio, Red Hat Enterprise Linux (RHEL) v8. Per visualizzare l'elenco dei sistemi operativi supportati, vedere Sistemi operativi di destinazione.

Kubernetes Image Builder

Per creare immagini di macchine personalizzate per i nodi del cluster Tanzu Kubernetes Grid, utilizzare l'immagine del container del progetto upstream Kubernetes Image Builder. Kubernetes Image Builder viene eseguito nella workstation locale e utilizza quanto segue:

  • Ansible standardizza il processo di configurazione e provisioning delle macchine in più famiglie di distribuzione di destinazione, come Ubuntu e CentOS.
  • Packer automatizza e standardizza il processo di creazione delle immagini per i provider CAPI correnti e futuri e crea un pacchetto delle immagini per l'infrastruttura di destinazione una volta che sono state create.
  • Image Builder crea le immagini utilizzando l'infrastruttura nativa per ogni provider:
    • Amazon Web Services (AWS)
      • Image Builder crea immagini personalizzate dalle AMI di base che vengono pubblicate in AWS, come le AMI ufficiali di Ubuntu.
      • L'immagine personalizzata viene creata in AWS e quindi archiviata nell'account AWS in una o più regioni.
      • Vedere Immagini per AWS nella documentazione di Image Builder.
    • Azure:
      • È possibile archiviare l'immagine personalizzata in una raccolta di immagini condivise di Azure.
      • Vedere Creazione di immagini per Azure nella documentazione di Image Builder.
    • vSphere:
      • Image Builder crea immagini OVA (Open Virtualization Archive) dall'ISO dell'installazione originale della distribuzione di Linux.
      • Importare l'OVA risultante in un cluster vSphere, creare uno snapshot per la clonazione rapida e quindi contrassegnare l'immagine della macchina come vm template.
      • Vedere Creazione di immagini per vSphere nella documentazione di Image Builder.

Le immagini personalizzate sostituiscono le immagini predefinite

Per le combinazioni comuni di versione del sistema operativo, versione di Kubernetes e infrastruttura di destinazione, Tanzu Kubernetes Grid fornisce immagini di macchine predefinite. Ad esempio, un'immagine ova-ubuntu-2004-v1.26.8+vmware.1-tkg funge da immagine OVA per Ubuntu v20.04 e Kubernetes v1.26.8 in vSphere.

Per le altre combinazioni di versione del sistema operativo, versione di Kubernetes e infrastruttura, come con il sistema operativo RHEL v8 o Windows, non sono presenti immagini di macchine predefinite, ma è possibile crearle.

Se si crea e si utilizza un'immagine personalizzata con la stessa versione del sistema operativo, la stessa versione di Kubernetes e la stessa infrastruttura già presenti in un'immagine predefinita, l'immagine personalizzata sostituisce l'immagine predefinita. La CLI di Tanzu crea quindi nuovi cluster utilizzando l'immagine personalizzata e non usa più l'immagine predefinita per tale combinazione di versione del sistema operativo, versione di Kubernetes e infrastruttura di destinazione.

Cluster API

Cluster API (CAPI) si basa sui principi di un'infrastruttura non modificabile. Tutti i nodi che costituiscono un cluster derivano da un modello comune o da un'immagine di macchina.

Quando CAPI crea un cluster da un'immagine di macchina, prevede che diversi elementi vengano configurati e installati e che siano accessibili o in esecuzione, tra cui:

  • Le versioni di kubeadm, kubelet e kubectl specificate nel manifesto del cluster.
  • Il runtime di un container, per lo più containerd.
  • Tutte le immagini richieste per kubeadm init e kubeadm join. È necessario includere tutte le immagini non pubblicate che devono essere estratte in locale, come le immagini firmate da VMware.
  • cloud-init configurato per accettare le istruzioni di bootstrap.

Passaggi successivi

Per informazioni su come creare immagini, vedere gli argomenti seguenti.

check-circle-line exclamation-circle-line close-line
Scroll to top icon