Instale Fedora en Google Compute Engine

Instale Fedora en Google Compute Engine

Cómo disfrutar de Fedora en Google Compute Engine

Entonces, tú también te has decepcionado al ver que no hay una imagen prebuidada de Fedora de Google en Google Compute Engine (GCE)? La buena noticia es que, gracias a esta imagen que falta, construirá su propia imagen personalizada y, por lo tanto, aprenderá un aspecto importante de Google Cloud Platform (GCP). Esto significa una amplia personalización de sus máquinas virtuales si lo desea.

Antes para comenzar, algo breve que necesitas saber. Las máquinas virtuales son realmente muy parecidas a las computadoras, pero ya lo sabes, ¿verdad?? Lo que puede que no sepa es que, las imágenes, en GCE, son un sistema operativo previamente construido que la computadora virtual tendrá en su primer inicio. Es muy parecido a cuando compra una computadora, lo obtiene con (lamentablemente) una versión preinstalada de Windows instalada en el disco duro. Y cuando inicie la primera vez, arrancará esta versión preinstalada que es la misma para todas las computadoras de este modelo/fabricante.

En Google Compute Engine, es todo lo mismo. Cuando crea una instancia, debe comenzar en algún lugar, por lo que le permitirá elegir un Linux preinstalado para arrancar, también llamado "imagen". Tenga en cuenta que algunos usuarios de VM dirán "en las máquinas virtuales, por lo general, comenzamos a arrancar a través de un CD de ISO con un asistente de configuración", pero generalmente las máquinas virtuales del motor de Compute de Google están destinadas a ejecutar desatendidas, y una GUI de configuración básicamente evitaría que lo evitaría.

Entonces, en este artículo, vamos a:

  1. Tomar prestado la última imagen oficial de nube de Fedora.
  1. Agregue algún software encima para que sea mejor compatible con Google Compute Engine.
  1. Empaquetarlo como una imagen GCP.
  1. Crea una instancia usando esta imagen.

Todo esto en Google Compute Engine.


Obtenga una imagen en la nube de Fedora para la personalización

Para comenzar, debe crear una VM donde vamos a construir y modificar la imagen oficial de Fedora Cloud. Entonces, cree una instancia con las siguientes opciones:

  1. Dale un nombre, elige la zona correcta, etc.
    Tenga en cuenta la zona porque la necesitaremos más tarde.
  1. En "Tipo de máquina", elija el "F1-Micro". Esto es más que suficiente para nuestras necesidades.
  1. En "Disco de arranque", haga clic en "Cambiar" y elija "Centos 7". Esta es la imagen más cercana a Fedora (Red Hat, Centos es RHEL, es RHEL sin atención al cliente) y el uso de herramientas familiares ayudará a construir la imagen.
  1. En "Identity and API Access", elija "Permitir todo el acceso a las API de la nube". Esto es para simplificar, ya que tendremos que usar mucho GcLoud y crear una cuenta de servicio es más engorroso.
    Como es solo una VM que durará unos minutos, eso no es un problema. Sin embargo, no use eso en la configuración de producción con compilaciones automatizadas de imágenes.
  1. Es posible que desee hacer que la VM sea "preventible", ya que las máquinas virtuales preemplables cuestan mucho menos. Nota que si lo hace, Google puede cerrar su VM en cualquier momento y tendrá que reiniciar la VM y reanudar donde lo dejó.
  1. Haga clic en el botón "Crear". El momento más divertido de la administración de la nube es este, si me preguntas.

Dale 2 minutos para comenzar y luego, ssh en la VM usando el botón "ssh". Abrirá una ventana con SSH conectado a su nuevo Centos 7 VM.

Lo primero que necesitas es instalar wget. Puede instalar curl si lo prefiere, pero el artículo usará wget.

ps sudo beque instalar wget

Luego, una vez instalado, vaya a https: // alt.federaproject.org/ nube/ y junto a "imagen sin procesar de la base de la base de la nube", haga clic derecho en "Descargar" y copiar el enlace de la dirección.

Vuelve a la VM y haz lo siguiente:

$ wget "Peque URL aquí"

Esto descargará el archivo. Fedora servidores, sus espejos y Google tienen una gran infraestructura, por lo que la descarga durará solo unos segundos. Probablemente mi segundo momento favorito de administración de nubes!

Una vez hecho, ejecute este comando:

$ xz --decompress -mantenimiento "Fedora-Cloud-Base-XX-X.X.x86_64.crudo.xz "

Tenga en cuenta que debe adaptar el nombre de archivo dependiendo de la versión que descargue. Esto va a extraer un archivo escaso de ~ 3 GB que luego podemos montar en bucle para el segundo paso. Va a tomar un minuto, así que toma un café y regresa cuando termine.


Preparación de Fedora para el viaje de Google Cloud Platform

Ok, entonces, ¿cómo llamamos preparación aquí?? Aproximadamente, está montando el disco en bruto, chroot dentro de él, agregue algún software para que pueda usar todas las funciones de GCP y luego finalmente limpiar varios archivos temporales.

Ok, vamos a montarlo:

ps mkdir bota
ps sudo montar -o bucle, desplazamiento = 1048576 "$ PWD/Fedora-Cloud-Base-XX-X.X.x86_64.crudo"
"$ PWD/BOOT"

Una vez más, adapte el nombre del archivo.

De acuerdo, veo que realmente no entiendes esta línea de comando, así que es hora de una explicación. Este comando le dice a Linux: tome un archivo del disco, actúe como si fuera una partición de disco e intente montarlo. Este es el principio de la montura de bucle. Pero también notará el "offset = 1048576". Hay un desplazamiento porque este disco en bruto es un disco, No es una partición. Viene dividido, con un gestor de arranque, para que la VM sepa qué hacer en el inicio. Pero no podemos montar, o chroot en un gestor de arranque, a la derecha?

Entonces, al configurar el desplazamiento, Linux es de hecho, montando la primera partición del disco sin procesar almacenado en el archivo. Es una partición ext4 y para dejar suficiente espacio para los cargadores de arranque, las primeras particiones generalmente comienzan 1 MIB después del comienzo del disco. De ahí el desplazamiento. Próximo:

ps cd bota
ps sudo montar --bind /dev dev && sudo montar --bind /sys sys && sudo montar --Bind /Proc Proc && sudo montar --Bind /etc /resolv.conf etc/resolv.confusión
ps sudo croote .//usr/bin/intento

Y ahora, bienvenido a su chroot crudo montado en bucle de Fedora! Entonces, ¿por qué todo eso? Primero, montamos todo lo necesario para que cualquier aplicación decente funcione, /dev, /proc y /sys. Además, montamos BIND resolv.conf porque de lo contrario el chroot no tiene acceso a Internet (!). Finalmente, nos vamos a hacer. Tenga en cuenta que usamos /usr/bin/bash porque /papelera en Fedora es un enlace simbólico para /usr/bin.

Ahora, es hora de instalar el software Google Cloud Platform para que funcione bien.
Lo primero que quizás desee hacer es tener una imagen actualizada. Es mejor, no? Entonces:

# actualización dnf --sassumeyes - -nogpgcheck "*"

Una vez más, una ocasión para tomar un sorbo de café, ya que va a tomar un tiempo. El "-nogpgCheck" se debe a que GPG Check y Chroot no actúan muy bien entre sí. Entonces, haz esto:

# gato> "/etc/yum.repositar.D/Google Cloud.repositorio " <<"EOR"
[Google-Cloud-Compute]
nombre = Google Cloud Compute
BaseUrl = https: // paquetes.nube.Google.com/yum/repos/google-cloud-compute-el7-x86_64
habilitado = 1
gpgcheck = 1
repo_gpgcheck = 1
gpgkey = https: // paquetes.nube.Google.com/yum/doc/yum-key.gpg
https: // paquetes.nube.Google.com/yum/doc/rpm-paquete-key.gpg
Eor

Y hacer:

# instalación dnf--nogpgcheck --suMeyes google-compute-ingenio python-google-compute-ingenio

Esto instalará todo el software relacionado con Google para ser mejor compatible con Google Compute Engine. Por ejemplo, le permitirá verificar/desactivar el reenvío de IP desde la interfaz de la plataforma de Google Cloud, o usar SSH en el navegador en lugar de tener que crear explícitamente una tecla SSH para la VM para la VM. Próximo:

# tocar "/.Autorelabel "
# dnf limpio todo

Como saben, una de las mejores cosas de Fedora, son sus características de seguridad y su calidad de nivel empresarial, y Selinux es parte de ella. Entonces, para evitar dolores de cabeza, retrocede un relabelado de todo el disco en el primer inicio de la VM.

Lo hace porque las etiquetas en Selinux están equivocadas en un entorno de chroot y olvidar este pequeño paso hace que la VM sea innumerable e inalcanzable desde el exterior. La actualización de DNF anterior reescribe muchos de los archivos principales que no están etiquetados y luego Selinux evita que estos binarios se ejecuten. Tenga en cuenta que significa que la primera startup de VM puede tomar unos minutos antes de que esté lista.

La limpieza de DNF permite mantener la imagen lo más pequeña posible. Esto le ahorra el costo de almacenar repetidamente cosas que no necesita.

Hora de salir de Chroot:

# salida
ps cd … /

Ahora saliste del directorio montado en bucle, puedes desmontar cosas montadas en enlace:

ps sudo Umount Boot/dev Boot/Proc Boot/SYS Boot/etc/resolv.confusión

Y luego, hagamos esto:

ps sudo FSTRIM -VERBOSE BOOT

Esto te ayuda a mantener la imagen montada en bucle aún más pequeña. Básicamente, durante la actualización, la imagen sin procesar se llenará rápidamente con zonas de archivos temporales. A diferencia de los discos duros reales, cuando un archivo se elimina en una imagen sin procesar, se elimina en metadatos del sistema de archivos de la imagen sin procesar y todavía usa espacio en el disco duro alojando la imagen en bruto. FSTRIM le permite hacer que estas zonas no utilizadas sean "escasas" y, por lo tanto, este espacio de archivos eliminados se devuelve al disco.

Desmontaje el dispositivo montado en el bucle ahora:

ps sudo Umount bota
ps MV "Fedora-Cloud-Base-XX-X.X.x86_64.crudo" "disco.crudo"
ps alquitrán --Crear-Auto-Compress --archivo="Fedora-Cloud-Base-XX-X.X.x86_64.alquitrán.GZ " --disco escaso.crudo

Ok, genial, ahora tienes tu imagen final, preenvasada! El tamaño para mí es alrededor de 350 MIB, Tiny Eh? Ahora, recuerdas cuando dije que tenías que tomar nota de la zona? Ahora lo necesitas!

Dirígete a Google Cloud Storage y crea un cubo. Supongo que aquí no tienes un cubo en la zona correcta, de lo contrario, está perfectamente bien usar uno preexistente. Así que crea un cubo con las siguientes opciones:

  1. Dale un nombre.
  1. Elija el tipo "regional". Dado que solo usamos el cubo aquí para imágenes, que se pueden regenerar fácilmente, Regional permite pagar menos al no tener una copia de seguridad geo-redundante del archivo.
  1. Elija la región donde se encuentra la VM Centos que creó.
  1. Golpear creación.

Espere a que se cree el cubo, y una vez hecho, vaya a la ventana SSH nuevamente y haga:

$ gsutil CP "Fedora-Cloud-Base-XX-X.X.x86_64.alquitrán.GZ " "GS: // [Nombre del balde]/"

Esto copia la imagen envasada a Google Cloud Storage para que podamos decirle a GCP: Toma eso .alquitrán.gz y hazlo una imagen.

Ahora, puede cerrar la instancia en ese momento. No lo elimine todavía, ya que probaremos la instancia de Fedora antes de eliminar esta VM de compilación.

Ahora en Google Compute Engine, ingrese "Imágenes". Presione el botón "Crear imagen". Configurarlo así:

  1. Nombrarlo "Fedora-Cloud-XX-Yyyymmdd", donde xx es la versión y ayyymmdd es el año, mes y fecha de hoy.
  1. En "Familia", ingrese "Fedora-Cloud-XX".
  1. En "Fuente", elija "Archivo de almacenamiento en la nube".
  1. Haga clic en el botón "Explorar", ingrese a su cubo y seleccione el .alquitrán.Archivo GZ cargado antes.
  1. Crea la imagen.

Y eso es toda la gente!


Fase de prueba

Ok, pero esa no sería una verdadera guía de instrucciones si no probáramos si funciona como se esperaba. Entonces, para ver si funcionó muy bien, llegue a "VM Instancias" y luego haga clic en "Crear instancia".

Configure la instancia de esta manera:

  1. Si bien Fedora Cloud puede funcionar en casi todas las formas de VM, le recomiendo que elija el tipo de VM más barato, F1-Micro, ya que solo usamos esta VM para fines de prueba.
  1. A continuación "Disco de arranque", haga clic en el botón "Cambiar".
    Vaya en la pestaña "Imagen personalizada" y luego elija la imagen que acaba de crear.
    No olvides establecer el tamaño del disco de arranque. Se establecerá en menos de 4 GB, demasiado pequeño. El tamaño mínimo de los discos de la plataforma de Google Cloud es de 10 GB y el mínimo recomendado por Google es de 200 GB.
  1. Una vez más, es posible que desee establecer la VM como preventible, especialmente si lo usa solo para fines de prueba y no lo mantiene.
  1. Haga clic en el botón "Crear".

Ahora, tienes que esperar 5 minutos, suficiente tiempo para limpiar tu teclado! Y después de estos 5 minutos, ahora puede hacer clic en el botón "SSH".

Y ahora, con suerte, Hooray, estás conectado a tu Fedora VM, dirigida por Google Cloud! En ese momento, no olvide eliminar la prueba de VM y la VM de compilación.

Espero que hayas disfrutado el tutorial, y funcionará bien para ti. Eso es toda la gente (de verdad esta vez), y nos vemos en una VM Fedora!