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 serverMudar de Docker para K3s (agent)
implant reconfigure --mode k3s --role agent --token meu-token --server-url https://k3s-server:6443Mudar de K3s para Docker
implant reconfigure --mode dockerVer o que seria copiado e feito, sem alterar nada
implant reconfigure --mode k3s --role server --dry-runSem backup
implant reconfigure --mode docker --no-backupBackup
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
0700porque as units e o env do K3s guardam o token do cluster. - Dois
reconfigureno 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/fstabSaida 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
- Faz o backup (salvo com
--no-backup) - Desabilita o swap (obrigatorio para K3s/Kubernetes), inclusive de forma persistente
- Instala K3s no papel especificado (server ou agent), com token e URL do servidor para agents
- Valida a instalacao (
k3s kubectl get nodes) - Atualiza arquivo de configuracao do Implant
K3s para Docker
- Faz o backup (salvo com
--no-backup) - Para e desabilita o K3s (sem desinstalar)
- Instala o Docker se necessario, e inicia/habilita o servico
- 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 |