Instale o Fedora no Google Compute Engine

Instale o Fedora no Google Compute Engine

Como desfrutar do Fedora no Google Compute Engine

Então, você também ficou desapontado ao ver que não há imagem pré -construída do Fedora do Google no Google Compute Engine (GCE)? A boa notícia é que, graças a esta imagem ausente, você criará sua própria imagem personalizada e aprenderá um aspecto importante da plataforma do Google Cloud (GCP). Isso significa personalização extensa de suas VMs, se você quiser.

Antes para começar, uma coisa breve que você precisa saber. VMs são realmente como computadores, mas você já sabe disso, certo? O que você talvez não saiba é que, imagens, no GCE, são pré -construídos que o computador virtual terá em sua primeira partida. É muito como quando você compra um computador, você o recebe (infelizmente) uma versão pré -instalada do Windows instalada no disco rígido. E quando você inicializa pela primeira vez, ele inicializará esta versão pré -instalada que é a mesma para todos os computadores deste modelo/fabricante.

No Google Compute Engine, é o mesmo. Quando você cria uma instância, você precisa começar em algum lugar, para que ele o escolha um Linux pré -instalado para inicializar, também chamado de "imagem". Observe que alguns usuários da VM dizem "nas VMs, geralmente começamos a inicializar por meio de um CD ISO com um assistente de configuração", mas geralmente as VMs do Google Compute Engine VMs destinam -se a ser executadas sem vigilância, e uma GUI de configuração basicamente impedia que isso.

Então, neste artigo, vamos:

  1. Pegue emprestado a última imagem oficial do Fedora Cloud.
  1. Adicione algum software sobre ele, para que seja melhor compatível com o Google Compute Engine.
  1. Embalá -lo como uma imagem GCP.
  1. Crie uma instância usando esta imagem.

Tudo isso no Google Compute Engine.


Obtenha a imagem do Fedora Cloud para personalização

Para começar, você precisa criar uma VM onde vamos construir e modificar a imagem oficial do Fedora Cloud. Portanto, crie uma instância com as seguintes opções:

  1. Dê um nome, escolha a zona certa, etc.
    Por favor, lembre -se da zona, porque precisaremos dela mais tarde.
  1. Em "Tipo de máquina", escolha o "F1-Micro". Isso é mais do que suficiente para nossas necessidades.
  1. Em "Boot Disk", clique em "Alterar" e escolha "Centos 7". Esta é a imagem mais próxima do Fedora (o Fedora é mantido por Red Hat, Centos é RHEL sem suporte ao cliente) e o uso de ferramentas familiares ajudará a construir a imagem.
  1. Em "Identity and API Access", escolha "Permitir todo o acesso às APIs da nuvem". Isso é para simplicidade, pois precisamos usar muito o GCloud e criar uma conta de serviço é mais pesada.
    Como é apenas uma VM que dura alguns minutos, isso não é um problema. Não use isso na configuração de produção com construções automatizadas de imagens, embora.
  1. Você pode querer tornar a VM "preventível", pois VMs preemptíveis custam muito menos. Observe que, se o fizer, o Google pode desligar sua VM a qualquer momento e você terá que reiniciar a VM e retomar de onde parou.
  1. Clique no botão "Criar". O momento mais divertido da administração em nuvem é este, se você me perguntar.

Dê 2 minutos para começar e depois, SSH na VM usando o botão "SSH". Ele abrirá uma janela com SSH conectado ao seu novo CentOS 7 VM.

A primeira coisa que você precisa é instalar o wget. Você pode instalar o CURL, se preferir, mas o artigo usará o WGE.

$ sudo yum instalar wget

Então, uma vez instalado, vá para https: // alt.FedoraProject.org/ nuvem/ e próximo a "nuvem base compactada imagem crua", clique com o botão direito do mouse em "Download" e copie o link de endereço.

Volte para a VM e faça o seguinte:

$ wget "Colar url aqui"

Isso vai baixar o arquivo. Servidores Fedora, seus espelhos e Google têm uma ótima infraestrutura, então o download vai durar apenas alguns segundos. Provavelmente meu segundo momento favorito da administração em nuvem!

Uma vez feito, execute este comando:

$ xz -DeCompress -Keep "Fedora-cloud-Base-XX-X.X.x86_64.cru.xz "

Observe que você deve adaptar o nome do arquivo dependendo da versão que você baixar. Isso vai extrair um arquivo esparso de ~ 3 GB que podemos fazer uma montagem para a segunda etapa. Vai demorar um minuto, então faça uma pausa para o café e volte quando terminar.


Preparando o Fedora para o passeio da plataforma do Google Cloud

Ok, então o que chamamos de preparação aqui? Aproximadamente, ele está montando loop montando o disco bruto, chroot dentro dele, adicione algum software para que possa usar todos os recursos do GCP e, finalmente, limpar vários arquivos temporários.

Ok, vamos montá -lo:

$ mkdir bota
$ sudo montar -o loop, deslocamento = 1048576 "$ PWD/Fedora-cloud-Base-XX-X.X.x86_64.cru"
"$ Pwd/bota"

Mais uma vez, adapte o nome do arquivo.

Ok, vejo que você realmente não entende essa linha de comando, então é hora de uma explicação. Este comando diz ao Linux: pegue um arquivo do disco, aja como se fosse uma partição de disco e tente montá -lo. Este é o princípio da montagem do loop. Mas você também notará o “deslocamento = 1048576”. Há um deslocamento porque este disco bruto é um disco, não uma partição. Ele vem particionado, com um carregador de inicialização, então a VM sabe o que fazer na startup. Mas não podemos montar, ou Chroot em um carregador de inicialização, certo?

Portanto, ao definir o deslocamento, o Linux está de fato, montando a primeira partição do disco bruto armazenado no arquivo. É uma partição ext4 e, para deixar espaço suficiente para os carregadores de inicialização, as primeiras partições geralmente iniciam 1 MIB após o início do disco. Daí o deslocamento. Próximo:

$ cd bota
$ sudo montar --bind /dev dev && sudo montar --bind /sys sys && sudo montar --Bind /Proc proc && sudo montar --bind /etc /resolv.conft etc/resolv.conf
$ sudo chroot .//usr/bin/Bash

E agora, seja bem-vindo ao seu chroot cru de Fedora em loop! Então, por que tudo isso? Primeiro, montamos tudo o que é necessário para qualquer aplicação decente funcionar, /dev, /proc e /sys. Além disso, montamos resolução de Bind.Conf, porque, caso contrário, o chroot não tem acesso à Internet (!). Finalmente, nós chroot nisso. Observe que usamos /usr/bin/bash porque /bin em fedora é um symblink para /usr/bin.

Agora, é hora de instalar o software do Google Cloud Platform para fazê -lo funcionar bem.
A primeira coisa que você pode querer fazer é ter uma imagem atualizada. É melhor, não? Então:

# dnf upgrade --sumeyes - -nogpgcheck "*"

Mais uma vez uma ocasião para tomar um gole de café, já que vai demorar um pouco. O "-nogpgcheck" é porque a verificação do GPG e o chroot não agem muito bem um com o outro. Então, faça isso:

# cat> "/etc/yum.Repos.D/Google-nuvem.repo " <<"EOR"
[Google-cloud-Compute]
Nome = Google Cloud Compute
Baseurl = https: // pacotes.nuvem.Google.com/yum/repos/google-cloud-compute-el7-x86_64
ativado = 1
gpgcheck = 1
repo_gpgcheck = 1
gpgkey = https: // pacotes.nuvem.Google.com/yum/doc/yum-chave.gpg
https: // pacotes.nuvem.Google.com/yum/doc/rpm-package-key.gpg
Eor

E fazer:

# dnf install--nogpgcheck --sumeyes google-compute-mecanne python-Google-Compute-megine

Isso vai instalar todo o software relacionado ao Google para ser melhor compatível com o Google Compute Engine. Por exemplo, ele permitirá que você verifique/desmarque o encaminhamento IP da interface do Google Cloud Platform ou use SSH no navegador, em vez de ter que criar explicitamente uma chave SSH para a VM. Próximo:

# tocar "/.Autorelabel "
# dnf limpo tudo

Como você sabe, uma das melhores coisas sobre o Fedora, são seus recursos de segurança e qualidade em nível empresarial, e o Selinux faz parte dela. Portanto, para evitar dores de cabeça, ele se retira uma referência de todo o disco após a primeira inicialização da VM.

Faz isso porque os rótulos em Selinux estão errados em um ambiente de chroot e esquecer esse pequeno passo torna a VM inalterável e inacessível de fora. A atualização do DNF acima reescreve muitos dos arquivos principais que não são marcados e, em seguida, Selinux impede que esses binários sejam executados. Observe que isso significa que a primeira startup da VM pode levar alguns minutos antes de estar pronta.

A limpeza do DNF permite manter a imagem o mais pequena possível. Isso economiza o custo de armazenar repetidamente coisas que você não precisa.

Hora de sair do chroot:

# saída
$ cd ... /

Agora você saiu do diretório montado em loop, você pode desmontar coisas montadas em amarrar:

$ sudo Umount inicialização/boot de boot/Proc Boot/sys/etc/resolv.conf

E então, vamos fazer isso:

$ sudo FSTRIM -BOOT

Isso ajuda você a manter a imagem montada em loop ainda menor. Basicamente, durante a atualização, a imagem bruta será rapidamente preenchida com zonas de arquivos temporários. Ao contrário dos discos reais, quando um arquivo é excluído em uma imagem bruta, ele é excluído nos metadados do sistema de arquivos da imagem bruta e TI ainda usa espaço no disco rígido que hospeda a imagem bruta. O FSTRIM permite que você faça essas zonas não utilizadas "escassas" e, portanto, este espaço de arquivos excluídos é devolvido ao disco.

Desmonte o dispositivo montado em loop agora:

$ sudo Umount bota
$ MV "Fedora-cloud-Base-XX-X.X.x86_64.cru" "disco.cru"
$ alcatrão --Crie --auto-compressão --arquivo="Fedora-cloud-Base-XX-X.X.x86_64.alcatrão.gz " --disco esparso.cru

Ok, legal, você tem agora sua imagem final, pré-embalada! O tamanho para mim é cerca de 350 MIB, minúsculo eh? Agora, você se lembra quando eu disse que tinha que tomar nota da zona? Agora você precisa disso!

Vá para o Google Cloud Storage e crie um balde. Suponho que aqui você já não tem um balde na zona certa, caso contrário, é perfeitamente bom usar um pré-existente. Portanto, crie um balde com as seguintes opções:

  1. Dê um nome.
  1. Escolha o tipo "regional". Como usamos apenas o balde aqui para imagens, que podem ser regeneradas facilmente, a Regional permite pagar menos por não ter um backup geográfico do arquivo.
  1. Escolha a região onde a VM do CentOS que você criou está localizada.
  1. Acertar Criar.

Aguarde a criação do balde e, uma vez feito, entre na janela SSH novamente e faça:

$ gsutil cp "Fedora-cloud-Base-XX-X.X.x86_64.alcatrão.gz " "gs: // [nome do balde]/"

Isso copia a imagem embalada para o Google Cloud Storage para que possamos dizer ao GCP: pegue isso .alcatrão.gz e faça uma imagem.

Agora, você pode desligar a instância naquele ponto. Não o exclua ainda, pois testaremos a instância do Fedora antes de excluir esta VM de construção.

Agora, no Google Compute Engine, entre “imagens”. Aperte o botão "Criar imagem". Configure assim:

  1. Nomeie-o “fedora-cloud-xx-yyyymmdd”, onde xx é a versão e yyyymmdd é o ano, mês e data de hoje.
  1. Em "Family", digite "Fedora-cloud-xx".
  1. Em "Fonte", escolha "Arquivo de armazenamento em nuvem".
  1. Clique no botão "Procurar", entre no seu balde e selecione o .alcatrão.GZ Arquivo Carregado anteriormente.
  1. Crie a imagem.

E isso é tudo pessoal!


Fase de teste

Ok, mas isso não seria um verdadeiro guia de instruções se não testássemos se funciona como esperado. Então, para ver se funcionou muito bem, chegue a "instâncias da VM" e clique em "Criar instância".

Configure a instância desta maneira:

  1. Embora o Fedora Cloud possa funcionar em quase todas as formas da VM, eu recomendo que você escolha o tipo VM mais barato, F1-Micro, já que usamos apenas esta VM para fins de teste.
  1. Abaixo do "disco de inicialização", clique no botão "Alterar".
    Vá na guia "Imagem personalizada" e depois escolha a imagem que você acabou de criar.
    Não se esqueça de definir o tamanho do disco de inicialização. Será definido para abaixo de 4 GB, muito pequeno. O tamanho mínimo dos discos da plataforma do Google Cloud é de 10 GB e o mínimo recomendado pelo Google é 200 GB.
  1. Mais uma vez, você pode querer definir a VM como preventível, especialmente se você usar apenas para fins de teste e não mantê -lo.
  1. Clique no botão "Criar".

Agora, você deve esperar 5 minutos, tempo suficiente para limpar seu teclado! E depois desses 5 minutos, agora você pode clicar no botão "ssh".

E agora, espero, viva, você está conectado à sua VM do Fedora, administrada pelo Google Cloud! Nesse ponto, não se esqueça de excluir a VM de teste e a VM de construção.

Espero que você tenha gostado do tutorial, e funcionará bem para você. Isso é tudo o que é (de verdade, desta vez), e vejo você em uma VM do Fedora!