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 instância 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.

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

Antes de prosseguir, verifique os detalhes de cada fluxo de atualização e escolha o mais adequado para seu caso de uso.

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}"

Iniciando 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.

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}"

Para iniciar uma instância FCOS personalizada, uma configuração válida do Ignition deve ser passada como dados do usuário no momento da criação:

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}"
Por design, scripts de inicialização não são compatíveis com FCOS. Em vez disso, é recomendável codificar qualquer lógica de inicialização como unidades de serviço do systemd na configuração do Ignition.