implant reconfigure

Reconfigura o sistema para alternar entre modo Docker standalone e modo cluster K3s.

Uso

implant reconfigure --mode <MODO> [OPTIONS]

Flags

Flag Descricao Padrao
--mode <MODO> Novo modo: docker ou k3s (obrigatorio) —
--role <PAPEL> Para K3s: papel do no (server ou agent) —
--token <TOKEN> Para K3s: token do cluster —
--server-url <URL> Para K3s agent: URL do servidor —
--backup Copia os arquivos de configuracao que a troca altera para /var/lib/implant/backups/reconfigure-<timestamp>/ antes de mudar (veja Backup) ligado
--no-backup Nao faz o backup —
--dry-run Simula: lista os arquivos que seriam copiados e os passos, sem alterar nada —
-o, --output <FORMATO> human (padrao), json ou yaml human

Exemplos

Mudar de Docker para K3s (servidor)

implant reconfigure --mode k3s --role server

Mudar de Docker para K3s (agent)

implant reconfigure --mode k3s --role agent --token meu-token --server-url https://k3s-server:6443

Mudar de K3s para Docker

implant reconfigure --mode docker

Ver o que seria copiado e feito, sem alterar nada

implant reconfigure --mode k3s --role server --dry-run

Sem backup

implant reconfigure --mode docker --no-backup

Backup

Por padrao, antes de qualquer mudanca, o comando copia para /var/lib/implant/backups/reconfigure-<timestamp>/ (timestamp UTC, diretorio com permissao 0700) os arquivos abaixo que existirem:

Arquivo Por que
/etc/fstab O modo k3s remove a linha de swap
/etc/docker/daemon.json Configuracao do modo docker
/etc/rancher/k3s/config.yaml, /etc/rancher/k3s/registries.yaml Configuracao do K3s
/etc/systemd/system/k3s.service e k3s.service.env Unit e env do K3s server (reescritos pelo instalador; contem o token do cluster)
/etc/systemd/system/k3s-agent.service e k3s-agent.service.env Unit e env do K3s agent
  • Dentro do diretorio, cada arquivo mantem o caminho original (etc/fstab, etc/docker/daemon.json...) e o modo do original.
  • O diretorio e 0700 porque as units e o env do K3s guardam o token do cluster.
  • Dois reconfigure no mesmo segundo nao se sobrescrevem: o segundo usa o sufixo -1, -2...
  • Se nenhum dos arquivos existe, nada e criado.
  • Se o backup falhar, o comando para antes de qualquer mudanca.
  • Com --dry-run, so mostra o diretorio que seria criado e os arquivos que seriam copiados.
  • Para desligar, use --no-backup.

O /swapfile removido pelo modo k3s nao entra no backup: e area de troca, nao configuracao.

Para restaurar um arquivo, copie-o de volta, por exemplo:

sudo ls -R /var/lib/implant/backups/reconfigure-*/
sudo cp -a /var/lib/implant/backups/reconfigure-<timestamp>/etc/fstab /etc/fstab

Saida JSON

Com -o json, o envelope reconfigure traz mode, role, backup (true salvo com --no-backup) e backup_dir (o diretorio criado — em dry-run, o que seria criado; null sem backup ou sem arquivos a copiar).

Processo

Docker para K3s

  1. Faz o backup (salvo com --no-backup)
  2. Desabilita o swap (obrigatorio para K3s/Kubernetes), inclusive de forma persistente
  3. Instala K3s no papel especificado (server ou agent), com token e URL do servidor para agents
  4. Valida a instalacao (k3s kubectl get nodes)
  5. Atualiza arquivo de configuracao do Implant

K3s para Docker

  1. Faz o backup (salvo com --no-backup)
  2. Para e desabilita o K3s (sem desinstalar)
  3. Instala o Docker se necessario, e inicia/habilita o servico
  4. Atualiza arquivo de configuracao do Implant

Requisitos para K3s

Papel Flags obrigatorias
server --role server
agent --role agent, --token, --server-url

Codigos de Saida

Codigo Significado
0 Reconfiguracao concluida com sucesso
1 Erro na reconfiguracao