Provisionando Fedora CoreOS no Google Cloud Platform

Este guia mostra como provisionar novas instâncias do Fedora CoreOS (FCOS) no Google Cloud Platform (GCP).

Pré-Requisitos

Antes de provisionar uma máquina FCOS, você deve ter um arquivo de configuração do Ignition contendo suas personalizações. Se você não tiver um, consulte Produzindo um arquivo de Ignition.

Fedora CoreOS has a default core user that can be used to explore the OS. If you want to use it, finalize its configuration by providing e.g. an SSH key.

If you do not want to use Ignition to get started, you can make use of the Afterburn support.

Você também precisa ter acesso a uma conta do GCP. Os exemplos abaixo usam a ferramenta de linha de comando gcloud, que deve ser instalada separadamente e configurada de antemão.

Selecionando uma família de imagens

O Fedora CoreOS é projetado para ser atualizado automaticamente, com horários diferentes por fluxo.

As imagens FCOS são publicadas no projeto fedora-coreos-cloud e ainda organizadas em famílias de imagens, rastreando o fluxo correspondente:

  • fedora-coreos-stable

  • fedora-coreos-testing

  • fedora-coreos-next

Before proceeding, check the details of each update stream and pick the one most suited for your use case.

Você pode inspecionar o estado atual de uma família de imagens da seguinte maneira:

Inspecionando uma família de imagens
STREAM='stable'
gcloud compute images describe-from-family --project "fedora-coreos-cloud" "fedora-coreos-${STREAM}"

Lançando uma instância de VM

Novas instâncias do GCP podem ser criadas e inicializadas diretamente a partir de imagens públicas do FCOS.

Se você deseja apenas acesso SSH e nenhuma personalização adicional, não precisa passar nenhum metadado de instância personalizado. Dependendo da configuração do projeto do GCP, as chaves públicas SSH relevantes serão adicionadas automaticamente à VM. Isso fornece uma maneira fácil de testar o FCOS sem primeiro criar uma configuração de Ignition.

Currently, we don’t support logging in using SSH through the GCP web console, using the gcloud compute ssh CLI method or OS Login. See fedora-coreos-tracker#648 for more information.
Iniciando uma nova instância
STREAM='stable'
VM_NAME='fcos-node01'
gcloud compute instances create --image-project "fedora-coreos-cloud" --image-family "fedora-coreos-${STREAM}" "${VM_NAME}"
You can find out the instance’s assigned IP by running gcloud compute instances list

You now should be able to SSH into the instance using the associated IP address.

Example connecting
ssh core@<ip address>

In order to launch a customized FCOS instance, a valid Ignition configuration must be passed as metadata under the user-data key at creation time. In the web console, this is available under the Management section. From the command-line, use --metadata-from-file:

Iniciando e personalizando uma nova instância
STREAM='stable'
VM_NAME='fcos-node01'
CONFIG='example.ign'
gcloud compute instances create --metadata-from-file "user-data=${CONFIG}" --image-project "fedora-coreos-cloud" --image-family "fedora-coreos-${STREAM}" "${VM_NAME}"
By design, startup scripts are not supported on FCOS. Instead, it is recommended to encode any startup logic as systemd service units in the Ignition configuration. Again, note you need to use the user-data key for Ignition; it will also not work to paste Ignition into this field in the web console.