This repository has been archived on 2020-04-06. You can view files and clone it, but cannot push or open issues or pull requests.
LXC-Migration/tooling.md

1.5 KiB

Tooling

Control

  • lxc (and sub-tools)

Building container images

  • debootstrap Note: it allows importing docker rootfs aswell, however it isn't recommended

Base images

  • Alpine - edge

Build setup

  • Overlay directories to reuse the base rootfs and add configs on top

Build location

  • Servers (prefferably)
  • Local (fallback)

Setup

Initial clustering

  • Manual
  • Preseed (needs reading and some dynamic variables, could be done via Ansible)

Deployment

  • Manual (automated with the help of the shell on need)
  • Likely small use of volumes (live migration and snapshots allow easy migration) TODO: Check if volume snapshots are a thing
  • Limited base image modification (especially if it doesn't need any on-disk data)
  • Port exposure needs to be defined manually on a per container basiss using proxy devices, see: Proxy Protocol for Proxy device in LXD
  • Ports can be forwarded in the firewall with DNAT aswell
    • Containers need IPv6 endpoint in DNAT mode

Backup

  • Container/Volume snapshots
  • Eventual backup locations:
    • Amazon S3
    • Hetzner storage boxes
    • Local (occasional)

Documenting/Testing list

  • DNS (mostly unknown)
    • Endpoint from containers? (/etc/resolv.conf? DHCP? Fixed?)
    • TLD .lxd (default)
  • Tiered networks
    • Most likely possible with special interfaces
    • Needs host configuration
  • Replicas
    • Looks like it is not possible