Installieren Sie Fedora auf Google Compute Engine

Installieren Sie Fedora auf Google Compute Engine

So genießen Sie Fedora in Google Compute Engine

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:

  1. Leihen Sie sich das neueste offizielle Fedora Cloud -Image aus.
  1. Fügen Sie etwas Software darüber hinzu, damit sie besser mit Google Compute Engine kompatibel ist.
  1. Verpacken Sie es als GCP -Bild.
  1. Erstellen Sie eine Instanz mit diesem Bild.

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:

  1. Geben Sie ihm einen Namen, wählen Sie die richtige Zone usw.
    Bitte behalten Sie die Zone im Auge, denn wir brauchen sie später.
  1. Wählen Sie in "Maschinenart" das "F1-Micro" aus. Dies ist mehr als genug für unsere Bedürfnisse.
  1. Klicken Sie in "Boot Disk" auf "Ändern" und wählen Sie "CentOS 7". Dies ist das nächstgelegene Bild für Fedora (Fedora wird von Red Hat gepflegt, CentOS ist Rhel ohne Kundenunterstützung) und die Verwendung von vertrauten Tools hilft, das Bild zu erstellen.
  1. Wählen Sie in "Identität und API -Zugriff" "Alle Zugriff auf Cloud -APIs zulassen". Dies ist der Einfachheit halber, da wir GCloud viel verwenden müssen und ein Servicekonto erstellt werden muss.
    Da es nur eine VM ist, die einige Minuten dauern wird, ist das kein Problem. Verwenden Sie das jedoch nicht im Produktionsaufbau mit automatisierten Bildernbauten.
  1. Vielleicht möchten Sie die VM „präventibel“ machen, da der präventible VMS viel weniger kostet. Beachten Sie jedoch, dass Google, wenn Sie dies tun.
  1. Klicken Sie auf die Schaltfläche "Erstellen". Der lustigste Moment der Cloud -Administration ist dieser, wenn Sie mich fragen.

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:

  1. Gib ihm einen Namen.
  1. Wählen Sie "regional" -Typ. Da wir den Eimer hier nur für Bilder verwenden, die leicht regeneriert werden können.
  1. Wählen Sie die Region aus, in der sich das von Ihnen erstellte CentOS -VM befindet.
  1. Hit create.

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:

  1. Nennen Sie es "Fedora-cloud-xx-yyyymmdd", wobei xx die Version ist und Yyyymmdd das heutige Jahr, Monat und Datum ist.
  1. Geben Sie in "Familie" "Fedora-cloud-xx" ein.
  1. Wählen Sie in "Source" "Cloud Storage -Datei" aus.
  1. Klicken Sie auf die Schaltfläche „Durchsuchen“, holen Sie sich in Ihren Eimer und wählen Sie die aus .Teer.GZ -Datei zuvor hochgeladen.
  1. Erstellen Sie das Bild.

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:

  1. Während Fedora Cloud an fast allen VM-Formen arbeiten kann, empfehle ich Ihnen, den billigsten VM-Typ F1-Micro auszuwählen, da wir diese VM nur für Testzwecke verwenden.
  1. Klicken Sie unter der Schaltfläche „Boot Disk“ auf die Schaltfläche "Ändern".
    Gehen Sie in die Registerkarte "benutzerdefinierte Bild" und wählen Sie dann das Bild, das Sie gerade erstellt haben.
    Vergessen Sie nicht, die Startdiskette festzulegen. Es wird auf unter 4 GB gesetzt, viel zu klein. Die Mindestgröße von Google Cloud -Plattform -Datenträgern beträgt 10 GB und das empfohlene Minimum von Google 200 GB.
  1. Vielleicht möchten Sie die VM wieder als präventiv einstellen, insbesondere wenn Sie es nur für Testzwecke verwenden und nicht behalten können.
  1. Klicken Sie auf die Schaltfläche "Erstellen".

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!