Sie waren auch enttäuscht, dass es kein vorgebaues Bild von Fedora von Google in Google Compute Engine (GCE) gibt? Die gute Nachricht ist, dass Sie dank dieses fehlenden Bildes Ihr eigenes benutzerdefiniertes Bild erstellen und so einen wichtigen Aspekt der Google Cloud -Plattform (GCP) kennenlernen werden. Dies bedeutet eine umfassende Anpassung Ihrer VMs, wenn Sie es möchten.
Vor Beginn eine kurze Sache, die Sie wissen müssen. VMs sind Computern sehr ähnlich, aber das wissen Sie bereits, richtig? Was Sie vielleicht nicht wissen, ist, dass Bilder in GCE ein vorgebautes Betriebssystem sind, das der virtuelle Computer bei seinem ersten Start haben wird. Wenn Sie einen Computer kaufen, erhalten Sie ihn (leider) einer vorinstallierten Version von Windows, die auf der Festplatte installiert sind. Und wenn Sie das erste Mal starten, startet sie diese vorinstallierte Version, die für alle Computer dieses Modells/Herstellers gleich ist.
In der Google Compute Engine ist es das gleiche. Wenn Sie eine Instanz erstellen, müssen Sie irgendwo anfangen, damit Sie einen vorinstallierten Linux zum Starten auswählen können, der auch als "Bild" bezeichnet wird, auch als "Bild" bezeichnet wird. Beachten Sie, dass einige VM -Benutzer sagen: „In VMs beginnen wir normalerweise mit einem ISO -CD mit einem Setup -Assistenten mit dem Booten. Normal.
In diesem Artikel gehen wir also:
Dies alles in Google berechnet Engine.
Holen Sie sich Fedora Cloud Image zur Anpassung
Zu Beginn müssen Sie eine VM erstellen, in der wir das offizielle Fedora Cloud -Image erstellen und ändern möchten. Erstellen Sie also eine Instanz mit den folgenden Optionen:
Geben Sie 2 Minuten Zeit, um zu starten, und dann SSH in die VM mit der Taste "SSH". Es wird ein Fenster mit SSH öffnen, das mit Ihrem brandneuen CentOS 7 VM verbunden ist.
Das erste, was Sie brauchen, ist die Installation von WGet. Sie können Curl installieren, wenn Sie es vorziehen, aber der Artikel verwendet WGet.
$ sudo Yum Installieren wget |
Gehen Sie dann nach der Installation zu https: // Alt.Fedoraproject.org/ cloud/ und neben „Cloud Basis komprimiertes Rohbild“ klicken Sie mit der rechten Maustaste auf „Download“ und kopieren Sie den Adresslink.
Kehren Sie zum VM zurück und machen Sie Folgendes:
$ wget "URL hier einfügen" |
Dadurch wird die Datei heruntergeladen. Fedora -Server, ihre Spiegel und Google haben eine großartige Infrastruktur, sodass der Download nur wenige Sekunden dauern wird. Wahrscheinlich mein zweiter Lieblingsmoment der Cloud -Administration!
Wenn Sie fertig sind, führen Sie diesen Befehl aus:
$ xz -Dekpress -Keep "Fedora-Cloud-Base-XX-X.X.x86_64.roh.XZ " |
Beachten Sie, dass Sie den Dateinamen abhängig von der von Ihnen heruntergeladenen Version anpassen müssen. Dies wird eine spärliche Datei von ~ 3 GB extrahieren, die wir dann für den zweiten Schritt schleifen können. Es wird eine Minute dauern, also machen Sie eine Kaffeepause und kommen Sie zurück, wenn Sie fertig sind.
Vorbereitung von Fedora für die Fahrt der Google Cloud -Plattform
Ok, wie nennen wir hier die Vorbereitung? Grob, es handelt sich um eine Schleife, die die Rohscheibe montiert, in dem Chroot darin besteht, etwas Software hinzufügen, damit alle GCP -Funktionen verwendet werden und schließlich verschiedene temporäre Dateien reinigen können.
OK, lass es uns montieren:
$ Mkdir Stiefel |
$ sudo montieren -o Schleife, Offset = 1048576 "$ Pwd/fedora-cloud-base-xx-x.X.x86_64.roh" |
"$ Pwd/boot" |
Passen Sie den Dateinamen erneut an.
Okay, ich sehe, dass Sie diese Befehlszeile nicht wirklich verstehen, also Zeit für eine Erklärung. In diesem Befehl heißt es zu Linux: Nehmen Sie eine Datei von der Festplatte, tun Sie so, als wäre es eine Festplattenpartition und versuchen Sie, sie zu montieren. Dies ist das Prinzip der Schleifenhalterung. Sie werden aber auch den „Offset = 1048576“ bemerken. Es gibt einen Offset, weil diese rohe Scheibe a ist Scheibe, keine Partition. Es wird mit einem Bootloader verteilt, also weiß die VM, was zu tun ist, um beim Start zu tun. Aber wir können nicht montieren oder in einem Bootloader in einen Bootloader sind, richtig?
Durch das Einstellen des Offsets ist Linux in der Tat die erste Partition der in der Datei gespeicherten RAW -Scheibe auf. Es ist eine ext4 -Partition und überlassen genügend Platz für Bootloader. Erste Partitionen beginnen im Allgemeinen 1 MIB nach Beginn der Festplatte. Daher der Offset. Nächste:
$ CD Stiefel |
$ sudo montieren --bind /dev dev && sudo montieren --bind /sys sys && sudo montieren --Bind /Proc Proc && sudo montieren --Bind /etc /resolv.conf etc/resolv.Conf |
$ sudo Chroot .//usr/bin/ verprügeln |
Und jetzt willkommen in Ihrem Fedora Looped Raw Chroot! Also, warum alles das? Zunächst montieren wir alles, was für eine anständige Bewerbung erforderlich ist, /dev, /proc und /sys. Außerdem montieren wir Bind Resolv.conf, weil der Chroot sonst keinen Internetzugang hat (!). Schließlich können wir uns darauf einlassen. Beachten Sie, dass wir verwenden /usr/bin/bash Weil /Behälter in Fedora ist ein Symlink zu /usr/Bin.
Jetzt ist es Zeit, die Software Google Cloud Platform zu installieren, damit sie gut funktioniert.
Das erste, was Sie vielleicht tun möchten, ist ein aktuelles Bild zu haben. Es ist besser, nein? So:
# DNF -Upgrade -Assumeyes -Nogpgcheck "*" |
Noch einmal eine Gelegenheit, einen Schluck Kaffee zu trinken, da es eine Weile dauern wird. Das "-nogpgcheck" liegt daran. Dann machen Sie das:
# cat> "/etc/yum.Repos.D/Google-Cloud.Repo " <<"EOR" |
[Google-Cloud-Compute] |
Name = Google Cloud Compute |
BasisaRl = https: // Pakete.Wolke.Google.com/yum/repos/google-cloud-compute-el7-x86_64 |
aktiviert = 1 |
gpgcheck = 1 |
repo_gpgcheck = 1 |
gpgkey = https: // pakete.Wolke.Google.com/yum/doc/yum-key.gpg |
https: // pakete.Wolke.Google.com/yum/doc/rpm-package-key.gpg |
Eor |
Und TU:
# DNF Install-Nogpgcheck-Assumeyes Google-Compute-Engine Python-Google-Computer-Engine |
Dies wird alle Google-bezogenen Software installieren, um am besten mit Google Compute Engine kompatibel zu sein. Sie können beispielsweise die IP -Weiterleitung von der Google Cloud -Plattform -Schnittstelle überprüfen/deaktivieren oder SSH im Browser verwenden, anstatt explizit einen SSH -Schlüssel für die VM zu erstellen. Nächste:
# berühren "/.Autorelabel " |
# DNF reinigen alle |
Wie Sie wissen, ist es eines der besten Dinge an Fedora, es ist seine Sicherheitsfunktionen und die Qualität auf Unternehmensebene, und Selinux ist ein Teil davon. Um Kopfschmerzen zu vermeiden.
Dies geschieht, weil die Etiketten in Selinux in einer Chroot -Umgebung falsch sind und diese kleine Schritt zu vergessen, dass die VM von außen unbootbar und unerreichbar ist. Das oben über das DNF -Upgrade oben geschriebene viele der unbezeichneten Kerndateien und dann verhindert Selinux, dass diese Binärdateien ausgeführt werden. Beachten Sie, dass es bedeutet, dass das erste VM -Start einige Minuten dauern kann, bevor es fertig ist.
DNF -Reinigung ermöglicht es, das Bild so klein wie möglich zu halten. Dies spart Ihnen die Kosten für die wiederholte Speicherung von Dingen, die Sie nicht brauchen.
Zeit, um Chroot zu verlassen:
# Ausfahrt |
$ CD … / |
Jetzt sind Sie aus dem Loop-montierten Verzeichnis herausgekommen
$ sudo Umount Boot/Dev Boot/Proc Boot/Sys Start/etc/resist.Conf |
Und dann machen wir das:
$ sudo fstrim --verbose Boot |
Dies hilft Ihnen, das schleifenmontierte Bild noch kleiner zu halten. Grundsätzlich wird das Rohbild während des Upgrades schnell mit Zonen temporärer Dateien gefüllt. Im Gegensatz zu echten Festplatten wird sie, wenn eine Datei in einem Rohbild gelöscht wird Nutzt immer noch Platz Auf der Festplatte, die das rohe Bild veranstaltet. Mit FSTRIM können Sie diese nicht verwendeten Zonen „spärlich“ machen, und so wird dieser Bereich gelöschter Dateien an die Festplatte zurückgegeben.
Entfernen Sie jetzt das Schleifengerät:
$ sudo Umount Stiefel |
$ MV "Fedora-Cloud-Base-XX-X.X.x86_64.roh" "Scheibe.roh" |
$ Teer --erstellen-auto-compress -- Datei = "Fedora-Cloud-Base-XX-X.X.x86_64.Teer.GZ " --spärliche Scheibe.roh |
Ok, cool, du hast jetzt dein letztes Bild, vorverpackt! Die Größe für mich beträgt ungefähr 350 MIB, winzig EH? Jetzt erinnern Sie sich, als ich sagte, Sie müssten die Zone zur Kenntnis nehmen? Es ist jetzt, dass du es brauchst!
Besuchen Sie den Google Cloud -Speicher und erstellen Sie einen Eimer. Ich gehe davon aus, dass Sie hier nicht bereits einen Eimer in der richtigen Zone haben. Erstellen Sie also einen Eimer mit den folgenden Optionen:
Warten Sie, bis der Eimer erstellt wird, und gehen Sie wieder in SSH -Fenster und tun Sie:
$ gsutil CP "Fedora-Cloud-Base-XX-X.X.x86_64.Teer.GZ " "GS: // [Name des Eimers]/" |
Dies kopiert das verpackte Bild in den Google Cloud -Speicher, damit wir zu GCP sagen können: Nehmen wir das .Teer.GZ und machen Sie es zu einem Bild.
Jetzt können Sie die Instanz zu diesem Zeitpunkt herunterfahren. Löschen Sie es noch nicht, da wir die Fedora -Instanz testen, bevor wir diesen Build VM löschen.
Jetzt in Google Compute Engine in "Images" erhalten Sie "Images". Klicken Sie auf die Schaltfläche "Bild erstellen". Konfigurieren Sie es so:
Und das sind alles Leute!
Testphase
Ok, aber das wäre keine echte Anleitung, wenn wir nicht getestet würden, ob es wie erwartet funktioniert. Um zu sehen, ob es großartig funktioniert, erhalten Sie zu "VM Instances" und klicken Sie dann auf "Instanz erstellen".
Konfigurieren Sie die Instanz auf diese Weise:
Jetzt müssen Sie 5 Minuten warten, genug Zeit, um Ihre Tastatur aufzuräumen! Und nach diesen 5 Minuten können Sie jetzt auf die Schaltfläche "SSH" klicken.
Und jetzt hoffentlich, Hurra, werden Sie in Ihrer Fedora VM angemeldet, die von Google Cloud ausgeführt wird! Vergessen Sie zu diesem Zeitpunkt nicht, das Test VM und die Build VM zu löschen.
Ich hoffe, Sie haben das Tutorial genossen, und es wird gut für Sie funktionieren. Das sind alles Leute (für wirklich diesmal) und sehen uns in einem Fedora VM!