Installez Fedora sur Google Compute Engine

Installez Fedora sur Google Compute Engine

Comment profiter de Fedora dans Google Compute Engine

Donc, vous aussi, vous avez été déçu de voir qu'il n'y a pas d'image prédéfinie de Fedora de Google dans Google Compute Engine (GCE)? La bonne nouvelle est que, grâce à cette image manquante, vous construirez votre propre image personnalisée et apprenez donc un aspect important de Google Cloud Platform (GCP). Cela signifie une personnalisation approfondie de vos machines virtuelles si vous le souhaitez.

Avant de commencer, une brève chose que vous devez savoir. Les machines virtuelles ressemblent vraiment aux ordinateurs, mais vous le savez déjà,? Ce que vous ne savez peut-être pas, c'est que les images, en GCE, sont un système d'exploitation prédéfini que l'ordinateur virtuel aura lors de son premier démarrage. C'est un peu comme lorsque vous achetez un ordinateur, vous l'obtenez avec (malheureusement) une version préinstallée de Windows installée sur le disque dur. Et lorsque vous démarrez la première fois, il démarrera cette version préinstallée qui est la même pour tous les ordinateurs de ce modèle / fabricant.

Dans Google Compute Engine, c'est la même chose. Lorsque vous créez une instance, vous devez commencer quelque part, il vous permet de vous choisir un Linux préinstallé pour démarrer, également appelé «image». Notez que certains utilisateurs de machines virtuelles diront «dans les machines virtuelles, généralement, nous commençons à démarrer via un CD ISO avec un assistant de configuration», mais généralement des machines virtuelles sur le moteur Google sont destinées à s'exécuter sans surveillance, et une interface graphique de configuration empêcherait essentiellement cela.

Donc, dans cet article, nous allons:

  1. Emprunter la dernière image officielle du cloud Fedora.
  1. Ajoutez un logiciel dessus afin qu'il soit mieux compatible avec Google Compute Engine.
  1. L'emballage comme une image GCP.
  1. Créer une instance en utilisant cette image.

Tout dans le moteur Google Compute.


Obtenez l'image du cloud Fedora pour la personnalisation

Pour commencer, vous devez créer une machine virtuelle où nous allons construire et modifier l'image officielle du cloud Fedora. Donc, créez une instance avec les options suivantes:

  1. Donnez-lui un nom, choisissez la bonne zone, etc.
    Veuillez garder la zone à l'esprit car nous en aurons besoin plus tard.
  1. Dans «Type de machine», choisissez le «F1-MICRO». C'est plus que suffisant pour nos besoins.
  1. Dans «Boot Disk», cliquez sur «Modifier» et choisissez «Centos 7». Il s'agit de l'image la plus proche de Fedora (Fedora est maintenue par Red Hat, Centos est Rhel sans support client) et l'utilisation d'outils familiers aidera à créer l'image.
  1. Dans «Identity and API Access», choisissez «Autoriser tout accès aux API Cloud». C'est pour la simplicité, car nous devrons utiliser beaucoup Gcloud et créer un compte de service est plus lourd.
    Comme c'est seulement une machine virtuelle qui durera quelques minutes, ce n'est pas un problème. N'utilisez pas cela dans la configuration de la production avec des versions automatisées d'images, cependant.
  1. Vous voudrez peut-être rendre la machine virtuelle «préemptable», car les VM préemptibles coûtent beaucoup moins. Notez cependant que si vous le faites, Google peut fermer votre machine virtuelle à tout moment et vous devrez redémarrer la machine virtuelle et reprendre là où vous vous êtes arrêté.
  1. Cliquez sur le bouton «Créer». Le moment le plus amusant de l'administration du cloud est celui-ci, si vous me demandez.

Donnez-lui 2 minutes pour démarrer, puis SSH dans la machine virtuelle en utilisant le bouton "SSH". Il ouvrira une fenêtre avec SSH connecté à votre toute nouvelle VM CentOS 7.

La première chose dont vous avez besoin est d'installer WGET. Vous pouvez installer Curl si vous préférez, mais l'article utilisera WGET.

$ Sudo Miam installer wget

Ensuite, une fois installé, allez sur https: // alt.fedoraproject.org / cloud / et à côté de «Image brute compressée de base cloud», cliquez avec le bouton droit sur «Télécharger» et copiez le lien d'adresse.

Revenez à la machine virtuelle et procédez comme suit:

$ wget "URL coller ici"

Cela téléchargera le fichier. Les serveurs Fedora, leurs miroirs et Google ont une grande infrastructure, donc le téléchargement ne durera que quelques secondes. Probablement mon deuxième moment préféré de l'administration du cloud!

Une fois terminé, exécutez cette commande:

$ xz --décompress --keept "Fedora-Cloud-Base-XX-X.X.x86_64.brut.xz "

Notez que vous devez adapter le nom de fichier en fonction de la version que vous téléchargez. Cela va extraire un fichier clairsemé de ~ 3 Go que nous pouvons ensuite faire boucle. Ça va prendre une minute, alors prenez une pause-café et revenez une fois.


Préparer Fedora pour la conduite de la plate-forme Google Cloud

Ok, alors comment appelons-nous la préparation ici? En gros, il s'agit de monter en boucle le disque brut, de chroot à l'intérieur, d'ajouter un logiciel afin qu'il puisse utiliser toutes les fonctionnalités GCP, puis nettoyer enfin divers fichiers temporaires.

Ok, montons-le:

$ mkdir botte
$ Sudo monter -O Boucle, décalage = 1048576 "$ PWD / Fedora-Cloud-Base-XX-X.X.x86_64.brut"
"$ PWD / BOOT"

Encore une fois, adaptez le nom du fichier.

D'accord, je vois que vous ne comprenez pas vraiment cette ligne de commande, donc il est temps pour une explication. Cette commande dit à Linux: prenez un fichier du disque, agissez comme s'il s'agissait d'une partition de disque et essayez de le monter. Ceci est le principe du support de boucle. Mais vous remarquerez également le «Offset = 1048576». Il y a un décalage car ce disque brut est un disque, pas une partition. Il est partitionné, avec un chargeur de démarrage dessus, donc la machine virtuelle sait quoi faire au démarrage. Mais nous ne pouvons pas monter ou chroot dans un chargeur de démarrage, à droite?

Ainsi, en définissant le décalage, Linux est en fait, le montage de la première partition du disque brut stocké dans le fichier. Il s'agit d'une partition EXT4 et de laisser suffisamment d'espace pour les chargeurs de démarrage, les premières partitions commencent généralement 1 MIB après le début du disque. D'où le décalage. Suivant:

$ CD botte
$ Sudo monter --bind / dev && Sudo monter --bind / sys sys && Sudo monter --lier / proc proc && Sudo monter --lier / etc / résoudre.conf etc.confli
$ Sudo chroot ./ / usr / bin /frapper

Et maintenant, bienvenue dans votre chroot brut monté sur la boucle Fedora! Alors, pourquoi tout ça? Tout d'abord, nous montons tout ce qui est nécessaire pour que toute application décente fonctionne, / dev, / proc et / sys. Aussi, nous montons Bind Resolv.confr car sinon le chroot n'a pas d'accès Internet (!). Enfin, nous y chroot. Notez que nous utilisons / usr / bin / bash parce que /poubelle dans Fedora est un lien symbolique pour / usr / bin.

Maintenant, il est temps d'installer le logiciel Google Cloud Platform pour le faire fonctionner bien.
La première chose que vous voudrez peut-être faire est d'avoir une image à jour. C'est mieux, non? Donc:

# mise à niveau DNF - Assumeyes --nogpgCheck "*"

Encore une fois une occasion de prendre une gorgée de café, car cela va prendre un certain temps. Le «-nogpgcheck» est parce que le contrôle et le chroot GPG n'agissent pas très bien les uns aux autres. Ensuite, faites ceci:

# chat> "/ etc / yum.se soustraire.d / google-cloud.repo " <<"EOR"
[Google-Cloud-Compute]
name = Google Cloud Compute
BUSURL = https: // packages.nuage.Google.com / yum / repos / google-cloud-compute-el7-x86_64
activé = 1
gpgcheck = 1
repo_gpgcheck = 1
gpgkey = https: // packages.nuage.Google.com / yum / doc / yum-key.GPG
https: // packages.nuage.Google.com / yum / doc / rpm-package-key.GPG
Eor

Et fait:

# DNF Install --nogpgCheck --Assumeyes google-compute-mo dans le moteur Python-Google-Compute-Engine

Cela va installer tous les logiciels liés à Google afin d'être mieux compatibles avec Google Compute Engine. Par exemple, il vous permettra de vérifier / décocher le transfert IP à partir de l'interface de plate-forme Google Cloud, ou d'utiliser SSH dans le navigateur au lieu d'avoir à créer explicitement une clé SSH pour la machine virtuelle. Suivant:

# touche "/.AutoreLabel "
# DNF Clean All

Comme vous le savez, l'une des meilleures choses à propos de Fedora, ce sont ses fonctionnalités de sécurité et sa qualité de niveau d'entreprise, et Selinux en fait partie. Ainsi, afin d'éviter les maux de tête, il remonte un realable de l'ensemble du disque lors du premier démarrage de VM.

Il le fait parce que les étiquettes de Selinux sont erronées dans un environnement de chroot et l'oubli de cette petite étape rend la machine virtuelle unpootable et inaccessible de l'extérieur. La mise à niveau DNF ci-dessus réécrit une grande partie des fichiers de base qui ne sont pas étiquetés, puis Selinux empêche ces binaires d'exécuter. Notez que cela signifie que la première startup VM peut prendre quelques minutes avant qu'elle ne soit prête.

Le nettoyage DNF permet de garder l'image aussi petite que possible. Cela vous permet d'économiser le coût du stockage à plusieurs reprises des choses dont vous n'avez pas besoin.

Il est temps de quitter le chroot:

# sortie
$ CD … /

Maintenant, vous êtes sorti du répertoire monté sur la boucle, vous pouvez non-résumer des choses montées sur Bind:

$ Sudo umount boot / dev boot / proc boot / sys boot / etc / résolv.confli

Et puis, faisons ceci:

$ Sudo FSTRIM - BOOT VERBOSE

Cela vous aide à garder l'image montée sur la boucle encore plus petite. Fondamentalement, pendant la mise à niveau, l'image brute sera rapidement remplie de zones de fichiers temporaires. Contrairement à de vrais disques durs, lorsqu'un fichier est supprimé dans une image brute, il est simplement supprimé dans les métadonnées du système de fichiers de l'image brute et utilise toujours l'espace sur le disque dur hébergeant l'image brute. FSTRIM vous permet de rendre ces zones inutilisées «clairsemées» et donc cet espace de fichiers supprimés est rendu au disque.

Déconsiez maintenant l'appareil monté sur la boucle:

$ Sudo umount botte
$ mv "Fedora-Cloud-Base-XX-X.X.x86_64.brut" "disque.brut"
$ le goudron --Créer - Auto-Compress --déposer="Fedora-Cloud-Base-XX-X.X.x86_64.le goudron.gz " --disque clairsemé.brut

OK, cool, vous avez maintenant votre image finale, préemballé! La taille pour moi est d'environ 350 MIB, minuscule hein? Maintenant, tu te souviens quand j'ai dit que tu devais prendre note de la zone? C'est maintenant tu en as besoin!

Dirigez-vous vers Google Cloud Storage et créez un seau. Je suppose ici que vous n'avez pas déjà de seau dans la bonne zone, sinon c'est parfaitement bien pour en utiliser un préexistant. Créez donc un seau avec les options suivantes:

  1. Donne lui un nom.
  1. Choisissez le type «régional». Puisque nous n'utilisons le seau ici que pour les images, qui peuvent être régénérées facilement, Regional permet de payer moins en n'ayant pas de sauvegarde géo-redondante du fichier.
  1. Choisissez la région où la VM Centos que vous avez créée est située.
  1. Hit Create.

Attendez que le seau soit créé, et une fois terminé, allez à nouveau dans la fenêtre SSH et faites:

$ gsutil CP "Fedora-Cloud-Base-XX-X.X.x86_64.le goudron.gz " "gs: // [nom du seau] /"

Cela copie l'image emballée sur Google Cloud Storage afin que nous puissions dire à GCP: prenez cela .le goudron.gz et faites-en une image.

Maintenant, vous pouvez fermer l'instance à ce moment. Ne le supprimez pas encore car nous testerons l'instance de Fedora avant de supprimer cette construction VM.

Maintenant dans Google Compute Engine, entrez à l'intérieur des «images». Appuyez sur le bouton «Créer l'image». Configurez-le comme ceci:

  1. Nommez-le «Fedora-Cloud-XX-Yyymmmdd» où XX est la version et Yyyymmdd est l'année, le mois et la date d'aujourd'hui.
  1. Dans «Family», entrez «Fedora-Cloud-XX».
  1. Dans «Source», choisissez «Fichier de stockage cloud».
  1. Cliquez sur le bouton "Parcourir", montez dans votre seau et sélectionnez le .le goudron.Fichier GZ téléchargé plus tôt.
  1. Créer l'image.

Et c'est tout le monde!


Phase de test

Ok mais ce ne serait pas un vrai guide pratiques si nous n'avons pas testé si cela fonctionne comme prévu. Donc, pour voir si cela a très bien fonctionné, accédez à «Instances VM», puis cliquez sur «Créer une instance».

Configurez l'instance de cette façon:

  1. Alors que Fedora Cloud peut fonctionner sur presque toutes les formes de machine virtuelle, je vous recommande de choisir le type de machine virtuelle le moins cher, F1-Micro, car nous n'utilisons cette machine virtuelle qu'à des fins de test.
  1. Ci-dessous «Disque de démarrage», cliquez sur le bouton «Modifier».
    Accédez à l'onglet «Image personnalisée», puis choisissez l'image que vous venez de créer.
    N'oubliez pas de régler la taille du disque de démarrage. Il sera réglé à moins de 4 Go, beaucoup trop petit. La taille minimale des disques de plate-forme cloud Google est de 10 Go et le minimum recommandé par Google est de 200 Go.
  1. Encore une fois, vous voudrez peut-être définir la machine virtuelle comme préemptive, surtout si vous l'utiliserez uniquement à des fins de test et de ne pas le garder.
  1. Cliquez sur le bouton «Créer».

Maintenant, vous devez attendre 5 minutes, assez de temps pour nettoyer votre clavier! Et après ces 5 minutes, vous pouvez maintenant cliquer sur le bouton «SSH».

Et maintenant, j'espère que Hourra, vous êtes connecté à votre VM Fedora, géré par Google Cloud! À ce stade, n'oubliez pas de supprimer la machine virtuelle de test et la VM Build.

J'espère que vous avez apprécié le tutoriel, et cela fonctionnera bien pour vous. C'est tout le monde (pour de vrai cette fois), et à vous voir dans une VM Fedora!