Zainstaluj Fedorę w Google Compute Engine

Zainstaluj Fedorę w Google Compute Engine

Jak cieszyć się Fedorą w Google Compute Engine

Tak więc ty też byłeś rozczarowany, widząc, że nie ma wstępnie zbudowanego obrazu Fedory z Google w Google Compute Engine (GCE)? Dobra wiadomość jest taka, że ​​dzięki temu brakującemu obrazowi zbudujesz własny niestandardowy obraz, a zatem nauczysz się ważnego aspektu Google Cloud Platform (GCP). Oznacza to obszerne dostosowanie maszyn wirtualnych, jeśli chcesz.

Przed rozpoczęciem, krótka rzecz, którą musisz wiedzieć. VMS są naprawdę podobne do komputerów, ale już to wiesz, prawda? Być może nie wiesz, że obrazy w GCE są wstępnie zbudowanym systemem operacyjnym, który komputer wirtualny będzie miał przy pierwszym uruchomieniu. To bardzo tak, jakby kupując komputer, dostajesz go z (niestety) wstępnie zainstalowaną wersją systemu Windows zainstalowanej na dysku twardym. A kiedy uruchomisz się po raz pierwszy, uruchomiłby tę wstępnie zainstalowaną wersję, która jest taka sama dla wszystkich komputerów tego modelu/producenta.

W Google Compute Engine wszystko jest tak samo. Podczas utworzenia instancji musisz gdzieś zacząć, aby pozwolił Ci wybrać wstępnie zainstalowany Linuks do uruchomienia, zwany także „obrazem”. Zauważ, że niektórzy użytkownicy VM powiedzą „W maszynach wirtualnych zwykle zaczynamy uruchamiać się za pośrednictwem CD ISO z asystentem konfiguracji”, ale zwykle maszyny silnikowe Compute Google Compute mają na celu uruchamianie bez opieki, a konfiguracja GUI w zasadzie temu zapobiegnie temu zapobiegałby temu.

W tym artykule zamierzamy:

  1. Pożycz najnowszy oficjalny wizerunek w chmurze Fedora.
  1. Dodaj na nim trochę oprogramowania, aby było lepiej kompatybilne z Google Compute Engine.
  1. Zapakuj go jako obraz GCP.
  1. Utwórz instancję za pomocą tego obrazu.

To wszystko w silniku obliczeniowym Google.


Zdobądź wizerunek w chmurze Fedora w celu dostosowywania

Na początek musisz utworzyć maszynę wirtualną, w której zamierzamy zbudować i zmodyfikować oficjalny obraz Cloud Fedora. Utwórz instancję z następującymi opcjami:

  1. Podaj nazwę, wybierz odpowiednią strefę itp.
    Proszę, pamiętaj o strefie, ponieważ potrzebujemy jej później.
  1. W „Typie maszyny” wybierz „F1-Micro”. To jest więcej niż wystarczające dla naszych potrzeb.
  1. W „Dysk rozruchu” kliknij „Zmień” i wybierz „Centos 7”. Jest to najbliższy obraz Fedory (Fedora jest utrzymywana przez Red Hat, Centos jest RHEL bez obsługi klienta), a korzystanie z znanych narzędzi pomoże zbudować obraz.
  1. W „Tożsamości i dostępu do interfejsu API” wybierz „Zezwól na wszystkie dostęp do interfejsów API w chmurze”. Jest to dla uproszczenia, ponieważ będziemy musieli dużo korzystać z GCLoud, a tworzenie konta serwisowego.
    Ponieważ to tylko maszyna wirtualna, która będzie trwała kilka minut, to nie jest problem. Nie używaj tego jednak w konfiguracji produkcji z automatycznymi kompilacjami obrazów.
  1. Możesz chcieć uczynić maszynę wirtualną „zapobiegłą”, ponieważ zapobiegawcze maszyny wirtualne kosztują znacznie mniej. Zwróć jednak uwagę na to, że jeśli to zrobisz, Google może wyłączyć maszynę wirtualną w dowolnym momencie i będziesz musiał ponownie uruchomić maszynę wirtualną i wznowić miejsce, w którym się skończyłeś.
  1. Kliknij przycisk „Utwórz”. Najbardziej zabawnym momentem administracji chmur jest ten, jeśli mnie zapytasz.

Daj mu 2 minuty na początek, a następnie SSH do maszyny wirtualnej za pomocą przycisku „SSH”. Otworzy okno z SSH podłączonym do twojego zupełnie nowego VM Centos 7 Vm.

Pierwszą rzeczą, której potrzebujesz, jest zainstalowanie WGET. Możesz zainstalować Curl, jeśli wolisz, ale artykuł będzie używać WGET.

$ sudo mniam zainstalować wget

Następnie, po zainstalowaniu, przejdź do https: // alt.Fedoraproject.Org/ Cloud/ i obok „Cloud Base Compressed Raw Image” kliknij prawym przyciskiem myszy „Pobierz” i skopiuj link adresowy.

Wróć do maszyny wirtualnej i wykonaj następujące czynności:

$ wget „Wklej adres URL tutaj”

To pobranie pliku. Serwery Fedora, ich lustra i Google mają świetną infrastrukturę, więc pobieranie potrwa zaledwie kilka sekund. Prawdopodobnie mój drugi ulubiony moment administracji chmur!

Po zakończeniu uruchom to polecenie:

$ xz - -decompress -keep „Fedora-Cloud-Base-XX-X.X.x86_64.surowy.xz "

Zauważ, że musisz dostosować nazwę pliku w zależności od pobieranej wersji. To wyodrębni rzadki plik ~ 3 GB, który możemy następnie zapętlić na drugi krok. Zajmie to minutę, więc zrób przerwę na kawę i wróć po zakończeniu.


Przygotowanie Fedory do jazdy Google Cloud Platform

Ok, więc jak nazywamy przygotowanie tutaj? Z grubsza jest to zamontowanie surowego dysku, chroot w nim, dodaj trochę oprogramowania, aby mógł używać wszystkich funkcji GCP, a następnie wreszcie wyczyścić różne pliki tymczasowe.

Ok, zamontujmy to:

$ Mkdir uruchomić
$ sudo uchwyt -o Pętla, przesunięcie = 1048576 „$ Pwd/fedora-cloud-base-xx-x.X.x86_64.surowy"
„$ PWD/BOOT”

Jeszcze raz dostosuj nazwę pliku.

Okej, widzę, że tak naprawdę nie rozumiesz tego wiersza poleceń, więc czas na wyjaśnienie. To polecenie mówi Linux: Weź plik z dysku, działaj tak, jakby to była partycja dysku i spróbuj go zamontować. To jest zasada mocowania pętli. Ale zauważysz również „offset = 1048576”. Jest przesunięcie, ponieważ ten surowy dysk jest dysk, nie partycja. Jest partycjonowany, z bootloaderem, więc maszyna wirtualna wie, co robić podczas startupu. Ale nie możemy zamontować ani chroot w bootloader, po prawej?

Tak więc ustawiając przesunięcie, Linux jest w rzeczywistości, zamontując pierwszą partycję surowego dysku przechowywanego w pliku. Jest to partycja ext4 i pozostawienie wystarczającej ilości miejsca na rozładowanie, pierwsze partycje zwykle uruchamiają 1 MIB po początku dysku. Stąd przesunięcie. Następny:

$ płyta CD uruchomić
$ sudo uchwyt --bind /dev dev && sudo uchwyt --Bind /Sys Sys && sudo uchwyt --Bind /Proc Proc && sudo uchwyt --wiązać /etc /resolv.conf itp./Resolv.conf
$ sudo Chroot .//usr/bin/grzmotnąć

A teraz witamy w Raw Chroot zamontowany na Fedora Loop! Więc dlaczego to wszystko? Najpierw zamontujemy wszystko, co potrzebne do pracy, /dev, /proc i /sys. Również montujemy Bind Resolv.Conf, ponieważ w przeciwnym razie chroot nie ma dostępu do Internetu (!). Wreszcie, w to wchodzimy. Zauważ, że używamy /usr/bin/bash ponieważ /kosz w Fedorze jest symbolizacją /usr/bin.

Teraz nadszedł czas, aby zainstalować oprogramowanie Google Cloud Platform, aby działało dobrze.
Pierwszą rzeczą, którą możesz chcieć zrobić, to mieć aktualny obraz. Jest lepiej, nie? Więc:

# DNF Upgrade --assumeyes --NogpgCheck „*”

Jeszcze raz okazja na łyk kawy, ponieważ zajmie to trochę czasu. „-NogpgCheck” jest tym, że kontrola GPG i chroot nie działa zbyt dobrze. Następnie zrób to:

# cat> "/etc/yum.repozytorium.D/Google-Cloud.repo " <<"EOR"
[Google-Cloud-Compute]
Nazwa = Google Cloud Compute
baseurl = https: // pakiety.Chmura.Google.com/yum/repos/Google-Cloud-Compute-EL7-x86_64
włączone = 1
GPGCheck = 1
repo_gpgcheck = 1
gpgkey = https: // pakiety.Chmura.Google.com/yum/doc/yum-key.GPG
https: // pakiety.Chmura.Google.com/yum/doc/rpm-package-key.GPG
Eor

I robić:

# dnf instalacja-nogpgcheck --assumeyes Google-compute-ingine Python-Google-Compute-Engine

To zainstaluje całe oprogramowanie związane z Google, aby być najlepiej kompatybilne z Google Compute Engine. Na przykład pozwoli ci to sprawdzić/odznaczyć przekazywanie IP z interfejsu Google Cloud Platform lub używać SSH w przeglądarce zamiast konieczności jawnego tworzenia klawisza SSH dla maszyny wirtualnej. Następny:

# dotykać "/.Autorelabel "
# dnf czyść wszystko

Jak wiecie, jedną z najlepszych rzeczy w Fedorze, jest jej funkcje bezpieczeństwa i jakość na poziomie przedsiębiorstw, a Selinux jest jej częścią. Aby uniknąć bólu głowy, wcalenia się od pierwszego uruchomienia VM.

Robi to, ponieważ etykiety w Selinux są błędne w środowisku chroot i zapominanie o tym małym kroku sprawia, że ​​maszyna wirtualna jest nieobowiązkowa i nieosiągalna z zewnątrz. Powyższa aktualiza. Zauważ, że oznacza to, że pierwszy uruchamianie VM może potrwać kilka minut, zanim będzie gotowy.

Oczyszczanie DNF pozwala zachować jak najbardziej mały obraz. To oszczędza koszty wielokrotnego przechowywania rzeczy, których nie potrzebujesz.

Czas wyjść z chroot:

# Wyjście
$ płyta CD … /

Teraz wyszedłeś z katalogu montowanego w pętli, możesz zdjąć rzeczy montowane na wiązaniu:

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

A potem zróbmy to:

$ sudo FSTRIM -BOOT

To pomaga utrzymać obraz zamontowany na pętle. Zasadniczo podczas aktualizacji surowy obraz będzie szybko wypełniony strefami plików tymczasowych. W przeciwieństwie do prawdziwych dysków twardych, gdy plik zostanie usunięty na surowym obrazie, jest po prostu usuwany w metadanych systemie plików surowego obrazu nadal używa przestrzeni na dysku twardym hostującym surowy obraz. FSTRIM pozwala na wykonanie tych nieużywanych stref „rzadkich”, więc ta przestrzeń usuniętych plików jest zwracana z powrotem na dysku.

Teraz niezmieni się urządzeniem montowanym w pętli:

$ sudo Umount uruchomić
$ mv „Fedora-Cloud-Base-XX-X.X.x86_64.surowy" "dysk.surowy"
$ smoła --Utwórz-Auto-Compress --plik=„Fedora-Cloud-Base-XX-X.X.x86_64.smoła.GZ " --rzadki dysk.surowy

Ok, fajnie, masz teraz swój ostateczny obraz, zapakowany! Rozmiar dla mnie to około 350 MIB, maleńki eh? Teraz pamiętasz, kiedy powiedziałem, że musisz zwrócić uwagę na strefę? To jest teraz potrzebujesz!

Udaj się do Google Cloud Storage i utwórz wiadro. Zakładam, że nie masz już wiadra we właściwej strefie, w przeciwnym razie jest w porządku, aby użyć wcześniej istniejącego. Utwórz więc wiadro z następującymi opcjami:

  1. Daj temu imię.
  1. Wybierz typ „regionalny”. Ponieważ używamy tutaj tylko do obrazów, które można łatwo zregenerować, regionalny pozwala płacić mniej, nie mając geo-redundantnej kopii zapasowej pliku.
  1. Wybierz region, w którym znajduje się utworzona maszyna wirtualna Centos.
  1. Hit Utwórz.

Poczekaj, aż wiadro zostanie utworzone, a po zakończeniu idź ponownie do okna SSH i zrób:

$ gsutil CP „Fedora-Cloud-Base-XX-X.X.x86_64.smoła.GZ " „GS: // [Nazwa wiadra]/”

Kopiuje to obraz zapakowany do Google Cloud Storage, abyśmy mogli powiedzieć GCP: Weź to .smoła.GZ i uczyń go obrazem.

Teraz możesz w tym momencie zamknąć instancję. Nie usuwaj jeszcze tego, ponieważ przetestujemy instancję Fedora przed usunięciem tej wersji VM kompilacji.

Teraz w Google Compute Engine wejdź do „obrazów”. Naciśnij przycisk „Utwórz obraz”. Skonfiguruj to w ten sposób:

  1. Nazwij to „Fedora-Cloud-xx-yyyyMmdd”, w którym XX jest wersją, a YyyyMmdd to dzisiejszy rok, miesiąc i data.
  1. W „Family” wprowadź „Fedora-Cloud-XX”.
  1. W „Source” wybierz „Plik pamięci w chmurze”.
  1. Kliknij przycisk „Przeglądaj”, wejdź do wiadra i wybierz .smoła.plik GZ przesłany wcześniej.
  1. Utwórz obraz.

I to wszyscy ludzie!


Faza testowa

Ok, ale nie byłby to prawdziwy instruktaż, gdybyśmy nie sprawdzili, czy działa zgodnie z oczekiwaniami. Aby sprawdzić, czy działało świetnie, przejdź do „instancji VM”, a następnie kliknij „Utwórz instancję”.

Skonfiguruj instancję w ten sposób:

  1. Podczas gdy Fedora Cloud może pracować nad prawie wszystkimi kształtami VM, polecam wybrać najtańszy typ VM, F1-Micro, ponieważ używamy tylko tej maszyny do testowania.
  1. Poniżej „Dysk rozruchowy” kliknij przycisk „Zmień”.
    Przejdź do zakładki „Niestandardowy obraz”, a następnie wybierz właśnie utworzony obraz.
    Nie zapomnij ustawić rozmiaru dysku rozruchowego. Zostanie ustawiony na poniżej 4 GB, o wiele za małe. Minimalny rozmiar dysków Google Cloud Platform wynosi 10 GB, a zalecane minimum przez Google wynosi 200 GB.
  1. Po raz kolejny możesz ustawić maszynę wirtualną jako upodobną, zwłaszcza jeśli użyjesz jej tylko do celów testowych i nie zatrzymasz.
  1. Kliknij przycisk „Utwórz”.

Teraz będziesz czekać 5 minut, wystarczająco dużo czasu, aby wyczyścić klawiaturę! A po tych 5 minutach możesz teraz kliknąć przycisk „SSH”.

A teraz, miejmy nadzieję, brawo, jesteś zalogowany do swojej maszyny wirtualnej Fedora, uruchamiana przez Google Cloud! W tym momencie nie zapomnij usunąć testowej maszyny wirtualnej i maszyny wirtualnej kompilacji.

Mam nadzieję, że podobał ci się samouczek i będzie to dla ciebie ładnie działać. To wszyscy ludzie (tym razem) i do zobaczenia w VM Fedora!