Installer Fedora på Google Compute Engine

Installer Fedora på Google Compute Engine

Hvordan glede deg over Fedora i Google Compute Engine

Så du også har du blitt skuffet over å se at det ikke er noe forhåndsbygget bilde av Fedora fra Google i Google Compute Engine (GCE)? Den gode nyheten er at takket være dette manglende bildet vil du bygge ditt eget tilpassede bilde og så lære et viktig aspekt av Google Cloud Platform (GCP). Dette betyr omfattende tilpasning av VM -ene dine hvis du vil ha det.

Før du skal starte, en kort ting du trenger å vite. VM -er er virkelig mye som datamaskiner, men det vet du allerede, riktig? Det du kanskje ikke vet er at bilder, i GCE, er forhåndsbygget OS som den virtuelle datamaskinen vil ha på sin første oppstart. Det er omtrent som når du kjøper en datamaskin, får du den med (dessverre) en forhåndsinstallert versjon av Windows installert på harddisken. Og når du starter opp første gang, vil den starte opp denne forhåndsinstallerte versjonen som er den samme for alle datamaskiner i denne modellen/produsenten.

I Google Compute Engine er det hele det samme. Når du oppretter en forekomst, må du starte et sted, så det vil la deg velge en forhåndsinstallert Linux å starte fra, også kalt et "bilde". Merk at noen VM -brukere vil si at "i VM -er, vanligvis, begynner vi å starte opp via en ISO -CD med en installasjonsassistent", men vanligvis er Google Compute Engine VM -er ment å kjøre uten tilsyn, og en installasjonsgui vil i utgangspunktet forhindre at det vil forhindre det.

Så i denne artikkelen skal vi:

  1. Lån det siste offisielle Fedora Cloud -bildet.
  1. Legg til litt programvare på toppen av den slik at den er bedre kompatibel med Google Compute Engine.
  1. Pakke det som et GCP -bilde.
  1. Lag en forekomst ved å bruke dette bildet.

Alt dette i Google Compute Engine.


Få Fedora Cloud Image for tilpasning

For å starte, må du lage en VM der vi skal bygge og endre det offisielle Fedora Cloud -bildet. Så opprett en forekomst med følgende alternativer:

  1. Gi det et navn, velg riktig sone osv.
    Husk sonen fordi vi trenger den senere.
  1. I “Maskintype”, velg “F1-Micro”. Dette er mer enn nok for våre behov.
  1. I “Boot Disk”, klikk “Endre” og velg “Centos 7”. Dette er det nærmeste bildet til Fedora (Fedora opprettholdes av Red Hat, Centos er RHEL uten kundestøtte) og bruk av kjente verktøy vil bidra til å bygge bildet.
  1. I “Identity and API Access”, velg “Tillat All Access to Cloud APIer”. Dette er for enkelhets skyld, da vi trenger å bruke GCloud mye og å opprette en tjenestekonto er mer tungvint.
    Siden det bare er en VM som vil vare i noen minutter, er det ikke noe problem. Ikke bruk det i produksjonsoppsett med automatiserte bygg av bilder, men.
  1. Det kan være lurt å gjøre VM "forebyggende", ettersom forebyggende VM -er koster mye mindre. Merk imidlertid at hvis du gjør det, kan Google slå deg av VM når som helst, og du må starte VM på nytt og gjenoppta der du slapp.
  1. Klikk på "Opprett" -knappen. Det morsomste øyeblikket av skyadministrasjon er dette, hvis du spør meg.

Gi den 2 minutter å starte og deretter, SSH i VM ved hjelp av "SSH" -knappen. Det vil åpne et vindu med SSH koblet til din splitter nye CentOS 7 VM.

Det første du trenger er å installere WGET. Du kan installere Curl hvis du foretrekker det, men artikkelen vil bruke WGET.

$ sudo yum installere WGET

Når du først er installert, gå til https: // alt.Fedoraproject.org/ sky/ og ved siden av “Cloud Base Comprimert Raw Image”, høyreklikk på “Last ned” og kopier adresseforeningen.

Kom tilbake til VM, og gjør følgende:

$ WGET "Lim inn url her"

Dette vil laste ned filen. Fedora -servere, speilene og Google har en flott infrastruktur, så nedlastingen vil vare bare noen få sekunder. Sannsynligvis mitt andre favoritt øyeblikk av skyadministrasjon!

Når du er ferdig, kjør denne kommandoen:

$ XZ -DECOMPRESS -Keep "Fedora-Cloud-Base-XX-X.X.x86_64.rå.XZ "

Merk at du må tilpasse filnavnet avhengig av versjonen du laster ned. Dette kommer til å trekke ut en sparsom fil på ~ 3 GB som vi deretter kan sløyfe for andre trinn. Det kommer til å ta ett minutt, så ta en kaffepause og komme tilbake når du er ferdig.


Forbereder Fedora til Google Cloud Platforms tur

Ok, så hva kaller vi forberedelser her? Grovt sett er det loop som monterer rå disken, chroot inni den, legger til litt programvare slik at den kan bruke alle GCP -funksjoner og deretter til slutt rydde opp i forskjellige midlertidige filer.

Ok, la oss montere det:

$ mkdir støvel
$ sudo montering -o loop, offset = 1048576 "$ PWD/Fedora-Cloud-Base-XX-X.X.x86_64.rå"
"$ Pwd/boot"

Tilpass nok en gang filnavnet.

Ok, jeg ser at du ikke virkelig forstår denne kommandolinjen, så tid til en forklaring. Denne kommandoen sier til Linux: Ta en fil fra disken, fungere som om det var en diskpartisjon og prøv å montere den. Dette er prinsippet om loopfeste. Men du vil også legge merke til “Offset = 1048576”. Det er en forskyvning fordi denne rå disken er en disk, ikke en partisjon. Det kommer partisjonert, med en bootloader på den, så VM vet hva de skal gjøre ved oppstart. Men vi kan ikke montere, eller chroot i en bootloader, ikke sant?

Så ved å sette forskyvningen, er Linux faktisk å montere den første partisjonen av råskiven som er lagret i filen. Det er en ext4 -partisjon og for å overlate nok plass til oppstartsloaders, starter de første partisjonene vanligvis 1 MIB etter begynnelsen av disken. Derav forskyvningen. NESTE:

$ CD støvel
$ sudo montering --bind /dev dev && sudo montering --bind /sys sys && sudo montering --bind /proc proc && sudo montering --bind /etc /resolv.Conf etc/Resolv.konf
$ sudo chroot .//usr/bin/bash

Og nå, velkommen til din Fedora Loop-monterte rå chroot! Så hvorfor alt dette? Først monterer vi alt som trengs for at enhver anstendig applikasjon skal fungere, /dev, /proc og /sys. Vi monterer også bind resolv.konf fordi ellers har chroot ingen internettilgang (!). Endelig chroot vi inn i det. Merk at vi bruker /usr/bin/bash fordi /bin i fedora er en symlink til /usr/bin.

Nå er det på tide å installere Google Cloud Platform -programvaren for å få den til å fungere bra.
Det første du kanskje vil gjøre er å ha et oppdatert bilde. Det er bedre, nei? Så:

# DNF -oppgradering -Assumeyes -NOGPGCHECK "*"

Nok en gang en anledning til å ta en slurk kaffe, siden det kommer til å ta en stund. "-Nogpgcheck" skyldes at GPG-sjekk og chroot ikke fungerer veldig bra for hverandre. Gjør dette da:

# katt> "/etc/yum.repos.D/Google-Cloud.repo " <<"EOR"
[Google-Cloud-Compute]
Navn = Google Cloud Compute
baseurl = https: // pakker.Sky.Google.com/yum/repos/google-cloud-compute-el7-x86_64
Aktivert = 1
GPGCHECK = 1
repo_gpgcheck = 1
gpgkey = https: // pakker.Sky.Google.com/yum/doc/yum-key.GPG
https: // pakker.Sky.Google.com/yum/doc/rpm-package-key.GPG
EOR

Og gjør:

# DNF install

Dette kommer til å installere all Google-relatert programvare for å være best kompatibel med Google Compute Engine. For eksempel vil det tillate deg å sjekke/fjerne merket for IP -videresending fra Google Cloud Platform -grensesnittet, eller bruke SSH i nettleseren i stedet for å måtte lage en SSH -nøkkel eksplisitt for VM. NESTE:

# ta på "/.autorelabel "
# DNF Rengjør alle

Som du vet, en av de beste tingene med Fedora, det er sikkerhetsfunksjonene og bedriftsnivåkvaliteten, og Selinux er en del av det. Så for å unngå hodepine, gir den en merket av hele disken på VMs første oppstart.

Det gjør det fordi etikettene i Selinux er feil i et chroot -miljø og glemmer dette lille trinnet gjør VM uoppholdbart og utilgjengelig utenfra. DNF -oppgraderingen ovenfor skriver om mange av kjernefilene som er umerket, og deretter forhindrer Selinux at disse binærene kjører. Merk at det betyr at den første VM -oppstarten kan ta noen minutter før den er klar.

DNF -opprydding gjør det mulig å holde bildet så lite som mulig. Dette sparer deg for kostnadene for å lagre ting du ikke trenger gjentatte ganger.

Tid til å forlate chroot:

# exit
$ CD ... /

Nå kom du ut av den sløyfemonterte katalogen, du kan demontere bindemonterte ting:

$ sudo umount Boot/dev boot/proc boot/sys boot/etc/resolv.konf

Og så, la oss gjøre dette:

$ sudo Fstrim -Verbose Boot

Dette hjelper deg å holde det sløyfemonterte bildet enda mindre. I utgangspunktet, under oppgraderingen, vil det rå bildet raskt bli fylt med soner med midlertidige filer. I motsetning til ekte harddisker, blir den bare slettet i et fil i et rått bilde, i filsystemmetadata av det rå bildet og det Bruker fortsatt plass på harddisken som er vert for det rå bildet. Fstrim lar deg lage disse ubrukte sonene til "sparsom", og derfor blir dette rommet med slettede filer gitt tilbake til disken.

Fjern den sløyfemonterte enheten nå:

$ sudo umount støvel
$ mv "Fedora-Cloud-Base-XX-X.X.x86_64.rå" "disk.rå"
$ tjære --Opprett-Auto-Compress --fil="Fedora-Cloud-Base-XX-X.X.x86_64.tjære.gz " --sparsom disk.rå

Ok, kult, du har nå ditt endelige bilde, forhåndspakket! Størrelsen for meg er rundt 350 mib, bittesmå eh? Nå husker du da jeg sa at du måtte ta oppmerksom på sonen? Det er nå du trenger det!

Gå til Google Cloud Storage og lag en bøtte. Jeg antar at du ikke allerede har en bøtte i riktig sone, ellers er det helt greit å bruke en eksisterende eksisterende. Så lag en bøtte med følgende alternativer:

  1. Gi det et navn.
  1. Velg “Regional” type. Siden vi bare bruker bøtta her for bilder, som enkelt kan regenereres, tillater regional å betale mindre ved ikke å ha en geo-redundant sikkerhetskopi av filen.
  1. Velg regionen der Centos VM du opprettet ligger.
  1. Hit Create.

Vent til at bøtta skal opprettes, og når du er ferdig, kan du gå i SSH -vinduet igjen og gjøre:

$ gsutil CP "Fedora-Cloud-Base-XX-X.X.x86_64.tjære.gz " "gs: // [navn på bøtta]/"

Dette kopierer det pakket bildet til Google Cloud Storage, slik at vi kan si til GCP: ta det .tjære.GZ og gjør det til et bilde.

Nå kan du slå av forekomsten på det tidspunktet. Ikke slett det ennå, da vi tester Fedora -forekomsten før du sletter denne Bygg VM.

Nå i Google Compute Engine, kom deg inn i “Bilder”. Trykk på "Opprett bilde" -knappen. Konfigurer det slik:

  1. Navn det “Fedora-Cloud-XX-Yyyymmdd” der XX er versjonen og yyyymmdd er dagens år, måned og dato.
  1. I “Familie”, skriv inn “Fedora-Cloud-XX”.
  1. I "Kilde", velg "Cloud Storage File".
  1. Klikk på "Bla gjennom" -knappen, gå i bøtta og velg .tjære.GZ -fil lastet opp tidligere.
  1. Lag bildet.

Og det er alt folkens!


Testfase

OK, men det ville ikke være en ekte guide hvis vi ikke tester om det fungerer som forventet. Så for å se om det fungerte bra, kom til "VM -forekomster" og deretter klikk på "Opprett forekomst".

Konfigurer forekomsten på denne måten:

  1. Mens Fedora Cloud kan jobbe med nesten alle VM-former, anbefaler jeg deg å velge den billigste VM-typen, F1-Micro, siden vi bare bruker denne VM til testformål.
  1. Under "Start disk", klikk på "Endre" -knappen.
    Gå i fanen "Custom Image" og velg deretter bildet du nettopp opprettet.
    Ikke glem å angi oppstartsdiskstørrelsen. Det vil bli satt til under 4 GB, altfor liten. Minimumsstørrelsen på Google Cloud Platform -disker er 10 GB og det anbefalte minimum av Google er 200 GB.
  1. Nok en gang kan det være lurt å sette VM som forebyggende, spesielt hvis du bare bruker den til testformål og ikke holder den.
  1. Klikk på "Opprett" -knappen.

Nå må du vente 5 minutter, nok tid til å rydde opp tastaturet! Og etter disse 5 minuttene, kan du nå klikke på "SSH" -knappen.

Og nå, forhåpentligvis, hurra, er du logget inn på Fedora VM, drevet av Google Cloud! På det tidspunktet, ikke glem å slette testen VM og Build VM.

Jeg håper du likte opplæringen, og det vil fungere pent for deg. Det er alt folk (for virkelig denne gangen), og se deg i en Fedora VM!