Installa Fedora su Google Compute Engine

Installa Fedora su Google Compute Engine

Come godersi Fedora in Google Compute Engine

Quindi, anche tu sei rimasto deluso nel vedere che non esiste un'immagine predefinita di Fedora da Google in Google Calcolo (GCE)? La buona notizia è che, grazie a questa immagine mancante, costruirai la tua immagine personalizzata e imparerai così un aspetto importante di Google Cloud Platform (GCP). Ciò significa una vasta personalizzazione delle VM se lo desideri.

Prima di iniziare, una breve cosa che devi sapere. Le VM sono davvero molto simili ai computer, ma lo sai già, giusto? Quello che potresti non sapere è che, le immagini, in GCE, sono un sistema operativo predefinito che il computer virtuale avrà al primo avvio. È molto come quando acquisti un computer, lo ottieni con (purtroppo) una versione preinstallata di Windows installata sul disco rigido. E quando si avvia la prima volta, avvia questa versione preinstallata che è la stessa per tutti i computer di questo modello/produttore.

In Google Compute Engine, è lo stesso. Quando crei un'istanza, devi iniziare da qualche parte, quindi ti lascerà scegliere un Linux preinstallato da cui l'avvio, chiamato anche "immagine". Si noti che alcuni utenti di VM diranno "Nelle macchine virtuali, di solito, iniziamo ad avvio tramite un CD ISO con un assistente di configurazione", ma di solito le macchine virtuali di Google Calco.

Quindi in questo articolo, andremo a:

  1. Prendi in prestito l'ultima immagine ufficiale di Fedora Cloud.
  1. Aggiungi un po 'di software su di esso in modo che sia meglio compatibile con Google Compute Engine.
  1. Confezionarlo come un'immagine GCP.
  1. Crea un'istanza usando questa immagine.

Tutto questo in Google Compute Engine.


Ottieni l'immagine di Fedora Cloud per la personalizzazione

Per iniziare, è necessario creare una VM in cui creeremo e modificare l'immagine ufficiale di Fedora Cloud. Quindi, crea un'istanza con le seguenti opzioni:

  1. Dagli un nome, scegli la zona giusta, ecc.
    Per favore, tieni a mente la zona perché ne avremo bisogno più tardi.
  1. In "Tipo di macchina", scegli "F1-Micro". Questo è più che sufficiente per le nostre esigenze.
  1. In "Boot disco", fai clic su "Modifica" e scegli "CentOS 7". Questa è l'immagine più vicina a Fedora (Fedora è mantenuta da Red Hat, CentOS è RHEL senza assistenza clienti) e l'utilizzo di strumenti familiari contribuirà a costruire l'immagine.
  1. In "Identity and API Access", scegli "Consenti tutto l'accesso alle API cloud". Questo è per semplicità, poiché dovremo usare molto Gcloud e la creazione di un account di servizio è più ingombrante.
    Dato che è solo una VM che durerà pochi minuti, non è un problema. Tuttavia, non usarlo nella configurazione di produzione con build automatizzate di immagini.
  1. Potresti voler rendere la VM "preventibile", poiché le macchine virtuali preventivi costa molto meno. Nota però che se lo fai, Google può spegnere la VM in qualsiasi momento e dovrai riavviare la VM e riprendere da dove hai interrotto.
  1. Fai clic sul pulsante "Crea". Il momento più divertente dell'amministrazione cloud è questo, se me lo chiedi.

Dagli 2 minuti per iniziare e poi, SSH nella VM usando il pulsante "SSH". Aprirà una finestra con SSH collegato alla tua nuova VM CentOS 7.

La prima cosa di cui hai bisogno è installare Wget. Puoi installare Curl se preferisci, ma l'articolo utilizzerà Wget.

$ sudo Yum installare Wget

Quindi, una volta installato, vai su https: // alt.Fedoraproject.org/ cloud/ e accanto a "Cloud Base Compressed RAW Immagine", fare clic con il tasto destro su "Scarica" ​​e copiare il collegamento dell'indirizzo.

Torna alla VM e fai quanto segue:

$ wget "Paste URL qui"

Questo scaricherà il file. Server Fedora, i loro specchi e Google hanno un'ottima infrastruttura, quindi il download durerà solo pochi secondi. Probabilmente il mio secondo momento preferito di amministrazione cloud!

Una volta fatto, eseguire questo comando:

$ xz -DeCompress --keep "Fedora-Cloud-Base-XX-X.X.x86_64.crudo.xz "

Si noti che devi adattare il nome file a seconda della versione che scarica. Questo estraggerà un file sparso di ~ 3 GB che possiamo quindi montare per il secondo passaggio. Ci vorrà un minuto, quindi fai una pausa caffè e torna quando è finito.


Preparazione di Fedora per la corsa della piattaforma cloud di Google

Ok, quindi come chiamiamo preparazione qui? Principalmente, sta montando il disco del disco grezzo, Chroot al suo interno, aggiungi un po 'di software in modo che possa utilizzare tutte le funzionalità GCP e infine pulire vari file temporanei.

OK, montiamolo:

$ mkdir stivale
$ sudo montare -O loop, offset = 1048576 "$ PWD/Fedora-Cloud-Base-X-X.X.x86_64.crudo"
"$ Pwd/boot"

Ancora una volta, adatta il nome del file.

Ok, vedo che non capisci davvero questa riga di comando, quindi è tempo per una spiegazione. Questo comando dice a Linux: prendi un file dal disco, agisci come se fosse una partizione del disco e prova a montarlo. Questo è il principio del supporto. Ma noterai anche "Offset = 1048576". C'è un offset perché questo disco grezzo è un disco, non una partizione. Viene partito, con un bootloader su di esso, quindi la VM sa cosa fare all'avvio. Ma non possiamo montare, o Chroot in un bootloader, a destra?

Quindi, impostando l'offset, Linux sta in effetti, montando la prima partizione del disco grezzo memorizzato nel file. È una partizione EXT4 e per lasciare abbastanza spazio per i bootloader, le prime partizioni iniziano generalmente 1 mib dopo l'inizio del disco. Da qui l'offset. Prossimo:

$ CD stivale
$ sudo montare --bind /dev dev && sudo montare --bind /sys sys && sudo montare --bind /proc pr && sudo montare --Bind /etc /resolv.conf etc/resolv.conf
$ sudo Chroot .//usr/bin/Bash

E ora, benvenuto nel tuo chroot grezzo montato su loop di Fedora! Quindi, perché tutto questo? Innanzitutto, montiamo tutto ciò che è necessario per qualsiasi applicazione decente per lavorare, /dev, /proc e /sys. Inoltre, montiamo Bind Resolv.conf perché altrimenti Chroot non ha accesso a Internet (!). Infine, ci siamo fatti in giro. Nota che usiamo /usr/bin/bash Perché /bidone In Fedora è un collegamento simbolico /usr/cestino.

Ora, è tempo di installare il software di Google Cloud Platform per farlo funzionare bene.
La prima cosa che potresti voler fare è avere un'immagine aggiornata. È meglio, no? COSÌ:

# dnf upgrade --assumeyes --nogpgcheck "*"

Ancora una volta un'occasione per prendere un sorso di caffè, dal momento che ci vorrà del tempo. Il "-nogpgcheck" è perché il controllo GPG e Chroot non si comportano molto bene l'uno con l'altro. Quindi, fai questo:

# cat> "/etc/yum.repository.D/Google-Cloud.Repo " <<"EOR"
[Google-cloud-compute]
Nome = Google Cloud Calco
baseurl = https: // pacchetti.nuvola.Google.com/yum/repos/google-cloud-compute-el7-x86_64
abilitato = 1
gpgcheck = 1
repo_gpgcheck = 1
gpgkey = https: // pacchetti.nuvola.Google.com/yum/doc/yum-key.gpg
pacchetti https: //.nuvola.Google.com/yum/doc/rpm-package-key.gpg
Eor

E fai:

# DNF Installa

Questo installerà tutto il software relativo a Google per essere più compatibile con Google Compute Engine. Ad esempio, ti permetterà di controllare/deselezionare l'inoltro IP dall'interfaccia della piattaforma cloud di Google o utilizzare SSH nel browser invece di dover creare esplicitamente una chiave SSH per la VM. Prossimo:

# tocco "/.autorelabel "
# dnf pulisci tutto

Come sapete, una delle cose migliori di Fedora, sono le sue caratteristiche di sicurezza e la qualità a livello aziendale, e Selinux fa parte di esso. Quindi, al fine di evitare il mal di testa, revoca una rielaborazione dell'intero disco al primo avvio della VM.

Lo fa perché le etichette di Selinux sono sbagliate in un ambiente Chroot e dimenticare questo piccolo passo rende la VM non bootabile e irraggiungibile dall'esterno. L'aggiornamento DNF sopra riscrive molti file di base che non etichettano e quindi Selinux impedisce l'esecuzione di questi binari. Si noti che significa che la prima avvio VM può richiedere qualche minuto prima che sia pronto.

La pulizia DNF consente di mantenere l'immagine il più piccola possibile. Questo ti consente di risparmiare il costo di archiviare ripetutamente le cose di cui non hai bisogno.

È ora di uscire da Chroot:

# Uscita
$ CD ... /

Ora sei uscito dalla directory montata su loop, puoi non montare le cose montate su legame:

$ sudo umount boot/dev boot/proc boot/sys boot/etc/resolv.conf

E poi, facciamo questo:

$ sudo FSTRIM -Verbose Boot

Questo ti aiuta a mantenere l'immagine montata su loop ancora più piccola. Fondamentalmente, durante l'aggiornamento, l'immagine grezza verrà rapidamente riempita con zone di file temporanei. A differenza dei veri dischi rigidi, quando un file viene eliminato in un'immagine grezza, viene semplicemente eliminato nei metadati del filesystem dell'immagine grezza e IT usa ancora lo spazio sul disco rigido che ospita l'immagine grezza. FSTRIM ti consente di rendere queste zone inutilizzate "sparse" e quindi questo spazio di file eliminati viene restituito al disco.

Sbottona il dispositivo montato su loop ora:

$ sudo umount stivale
$ MV "Fedora-Cloud-Base-XX-X.X.x86_64.crudo" "disco.crudo"
$ catrame --Crea-Auto-Compress --file="Fedora-Cloud-Base-XX-X.X.x86_64.catrame.GZ " --disco sparso.crudo

Ok, bello, ora hai la tua immagine finale, preconfezionata! La dimensione per me è di circa 350 mib, minuscole eh? Ora, ricordi quando ho detto che dovevi prendere nota della zona? Ora è necessario!

Vai a Google Cloud Storage e crea un secchio. Suppongo che qui non abbia già un secchio nella zona giusta, altrimenti è perfettamente bello usarne uno preesistente. Quindi crea un secchio con le seguenti opzioni:

  1. Dagli un nome.
  1. Scegli il tipo "regionale". Dal momento che usiamo il secchio solo qui per le immagini, che possono essere rigenerate facilmente, Regional consente di pagare di meno non avendo un backup geo-ridondante del file.
  1. Scegli la regione in cui si trova la VM centos che hai creato.
  1. Premi Crea.

Attendi la creazione del secchio e una volta fatto, vai di nuovo nella finestra SSH e fai:

$ gsutil cp "Fedora-Cloud-Base-XX-X.X.x86_64.catrame.GZ " "GS: // [nome del secchio]/"

Questo copia l'immagine confezionata su Google Cloud Storage in modo che possiamo dire a GCP: prendilo .catrame.gz e rendilo un'immagine.

Ora puoi bloccare l'istanza a quel punto. Non eliminarlo ancora mentre testeremo l'istanza di Fedora prima di eliminare questa VM di build.

Ora in Google Compute Engine, inserisci "Immagini". Premi il pulsante "Crea immagine". Configuralo in questo modo:

  1. Nomina "Fedora-cloud-xx-yyyymddd" dove xx è la versione e yyyymddd è l'anno, il mese e la data di oggi.
  1. In "Famiglia", inserisci "Fedora-Cloud-XX".
  1. In "Source", scegli "File di archiviazione cloud".
  1. Fai clic sul pulsante "Sfoglia", metti nel secchio e seleziona il .catrame.GZ File Caricato in precedenza.
  1. Crea l'immagine.

E questa è tutta gente!


Fase di test

Ok ma non sarebbe una vera guida how-to se non avessimo testato se funziona come previsto. Quindi, per vedere se ha funzionato alla grande, vai su "VM istanze" e quindi fai clic su "Crea istanza".

Configurare l'istanza in questo modo:

  1. Mentre Fedora Cloud può funzionare su quasi tutte le forme VM, ti consiglio di scegliere il tipo VM più economico, F1-Micro, poiché utilizziamo questa VM solo per scopi di test.
  1. Di seguito "Disk di avvio", fare clic sul pulsante "Modifica".
    Vai nella scheda "Immagine personalizzata" e quindi seleziona l'immagine che hai appena creato.
    Non dimenticare di impostare la dimensione del disco di avvio. Sarà impostato sotto 4 GB, troppo piccolo. La dimensione minima dei dischi della piattaforma cloud di Google è di 10 GB e il minimo consigliato da Google è di 200 GB.
  1. Ancora una volta, potresti voler impostare la VM come preventivi, soprattutto se la userai solo per scopi di test e non tenerla.
  1. Fai clic sul pulsante "Crea".

Ora, devi aspettare 5 minuti, abbastanza tempo per ripulire la tastiera! E dopo questi 5 minuti, ora puoi fare clic sul pulsante "SSH".

E ora, si spera, evvii, sei effettuato l'accesso alla tua VM Fedora, gestito da Google Cloud! A quel punto, non dimenticare di eliminare la VM di prova e la VM di build.

Spero ti sia piaciuto il tutorial e funzionerà bene per te. Sono tutte persone (per davvero questa volta) e ci vediamo in una VM Fedora!