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 production-ign.adoc.

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

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.

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.