The version of the documentation you are reading is not the latest one!  See the latest version.

    OverlayBD Artifact Streaming

    Installation

    Flatcar Container Linux offers support for the installation and customization of containerd’s accelerated container image artifact streaming. Both accelerated-container-image and the overlaybd back-end are combined in an optional, system dependent sysext .

    The sysext can be provisioned simply by adding the line overlaybd to /etc/flatcar/enabled-sysext.conf. Since these sysexts are system dependent (compiled against the system’s C library), they will be updated automatically in lockstep with the operating system.

    Example Butane configuration:

    ---
    # config.yaml
    # butane < config.yaml > config.json
    variant: flatcar
    version: 1.0.0
    
    storage:
      files:
      - path: /etc/flatcar/enabled-sysext.conf
        contents:
          inline: |
            overlaybd
    

    Usage

    The below usage largely follows upstream’s Getting started guide .

    The sysext includes upstream’s overlaybd.json and config.json and will populate /etc/overlaybd/ and /etc/overlaybd-snapshotter/ at extension merge time.

    Containerd configuration needs to be amended to use overlaybd and the snapshotter plugin. Since Flatcar does not support containerd drop-in configuration at the time of writing, our Butane config needs to include the full containerd toml:

    ---
    # config.yaml
    # butane < config.yaml > config.json
    variant: flatcar
    version: 1.0.0
    
    storage:
      files:
      - path: /etc/flatcar/enabled-sysext.conf
        contents:
          inline: |
            overlaybd
        - path: /etc/containerd/config.toml
          contents:
            inline: |
              version = 2
              
              # persistent data location
              root = "/var/lib/containerd"
              # runtime state information
              state = "/run/containerd"
              # set containerd as a subreaper on linux when it is not running as PID 1
              subreaper = true
              # set containerd's OOM score
              oom_score = -999
              disabled_plugins = []
              
              # grpc configuration
              [grpc]
              address = "/run/containerd/containerd.sock"
              # socket uid
              uid = 0
              # socket gid
              gid = 0
              
              [plugins."io.containerd.runtime.v1.linux"]
              # shim binary name/path
              shim = "containerd-shim"
              # runtime binary name/path
              runtime = "runc"
              # do not use a shim when starting containers, saves on memory but
              # live restore is not supported
              no_shim = false
              
              [plugins."io.containerd.grpc.v1.cri"]
              # enable SELinux labeling
              enable_selinux = true
              
              [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
              # setting runc.options unsets parent settings
              runtime_type = "io.containerd.runc.v2"
              [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
              SystemdCgroup = true
              
              [proxy_plugins.overlaybd]
                 type = "snapshot"
                 address = "/run/overlaybd-snapshotter/overlaybd.sock"
    
    systemd:
      units:
        - name: containerd.service
          dropins:
            - name: 10-configtoml.conf
              contents: |
                [Service]
                ExecStart=
                ExecStart=/usr/bin/containerd --config /etc/containerd/config.toml
    

    After the instance provisioned successfully, accelerated container images can be started in accordance with upstream’s guilde :

    sudo /opt/overlaybd/snapshotter/ctr rpull -u {user}:{pass} registry.hub.docker.com/overlaybd/redis:6.2.1_obd
    sudo ctr run --net-host --snapshotter=overlaybd --rm -t registry.hub.docker.com/overlaybd/redis:6.2.1_obd demo