Instalando Fedora CoreOS

Danniel
editado June 2020 em CoreOS

O Fedora CoreOS é um sistema operacional mínimo de atualização automática para executar cargas de trabalho em contêiner de forma segura e em escala. Atualmente, está disponível em várias plataformas

Vamos instalar em uma VM usando uma imagem livecd

Versão usada do Fedora CoreOs 32.20200601.3.0 stable
Maquina virtual KVM
2 GB Memória
50 GB Disco

Link do download dessa versão

https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/32.20200601.3.0/x86_64/fedora-coreos-32.20200601.3.0-live.x86_64.iso

Antes de instalar o Fedora CoreOS, você deve ter um arquivo de configuração do Ignition e hospedá-lo em algum Servidor web (por exemplo, usando python3 -m http.server)

Ignition é um utilitário de provisionamento que lê um arquivo de configuração (no formato JSON) e provisiona um sistema Fedora CoreOS com base nessa configuração. Os componentes configuráveis ​​incluem sistemas de armazenamento e arquivos, unidades systemd e usuários.

A ignition é executada apenas uma vez durante a primeira inicialização do sistema (em initramfs). Como o Ignition é executado tão cedo no processo de inicialização, ele pode particionar discos, formatar sistemas de arquivos, criar usuários e gravar arquivos antes que o espaço do usuário comece a ser inicializado. Como resultado, os serviços systemd já estão gravados no disco quando o systemd é iniciado, acelerando o tempo de inicialização.

Vamos criar o nosso arquivo ignition somente com a chave pública para podemos acessar o nosso Fedora CoreOS via ssh sem senha

Gere uma chave ssh

$ ssh-keygen

No seu ~/.ssh terá 2 arquivos

id_rsa
id_rsa.pub

vamos usar o conteúdo do .pub

Crie o arquivo .fcc

$ vim example.fcc

e com o conteúdo

 variant: fcos
 version: 1.0.0
 passwd:
   users:
    - name: core
       ssh_authorized_keys:
         - ssh-rsa AAAA...

o ssh-rsa é a sua chave id_rsa.pub

fcct, o Transpiler de configuração do Fedora CoreOS, é uma ferramenta que produz um arquivo JSON Ignition a partir do arquivo YAML FCC. Usando o arquivo FCC, uma máquina Fedora CoreOS pode ser instruída a criar usuários, criar sistemas de arquivos, configurar a rede, instalar unidades systemd e muito mais.

Uma maneira fácil de usar fccte executá-lo em um contêiner com podman:

Baixe o container do fcct:

$ podman pull quay.io/coreos/fcct:release

Execute fcct no arquivo FCC:

$ podman run -i --rm quay.io/coreos/fcct:release --pretty --strict < example.fcc > example.ign

Agora vamos usar o arquivo do example.ign para instalar o Fedora CoreOS e passar a nossa chave pública

Resumindo o arquivo example.ign fica assim

{
  "ignition": {
    "version": "3.0.0"
  },
  "passwd": {
    "users": [
      {
        "name": "core",
        "sshAuthorizedKeys": [
          "ssh-rsa AAAA..........."
        ]
      }
    ]
  }
}

Esse seu arquivo envia para seu servidor web para podemos usar na instalação do Fedora CoreOS

Agora vamos inciar o Livecd do Fedora CoreOS

Ao iniciar o Fedora CoreOS Live , já tem as instruções de instalação

Baixe o arquivo do seu servidor web

E agora Instale o Fedora CoreOS

Reinicie a máquina

Agora vamos acessar nosso Fedora CoreOS via ssh com usuário core sem senha

Agora tu podes usa o podman pra subir e testar seus containers

Espero que ajude

Guia de Referencia :
https://docs.fedoraproject.org/en-US/fedora-coreos/

Comentários