Nomad: [driver plugin] OCI / containerd support

Created on 13 Mar 2019  路  11Comments  路  Source: hashicorp/nomad

https://containerd.io

An industry-standard container runtime with an emphasis on simplicity, robustness and portability

Currently it's possible to interact with containerd on nomad only trough the Docker daemon.
It would be great to add the support for interacting directly with containerd without the Docker daemon just like Kubernetes is already doing: https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/
This would mean less memory usage because we wouldn't have to run the Docker daemon to launch the containers just like it's already possible with rkt.

themclient themdriver themplugin typenhancement

Most helpful comment

I have a working version of this driver nomad-driver-containerd under https://github.com/Roblox.
Right now it's private. I plan to open source it within 3 weeks. We (Roblox) are also trying to move in a similar direction, where we want to integrate directly with containerd (like kubelet).

Docker is a monolithic service with everything from containers, images, networking, volume management, secrets packed into one. Containerd was launched as a solution to this, to be able to handle any container-related management using this lightweight daemon (gRPC server).

This driver will allow us to directly integrate and launch containers using containerd (bypassing docker), thereby reducing the CPU and memory footprint.

All 11 comments

Hey @unixfox,

We've definitely chatted about the possibility of an OCI driver for Nomad, because it would open up support for a wide range of container runtimes in one go.

However, this is something that's likely to be best served by an external driver plugin from 0.9 onwards, rather than as an internal driver.

I'm going to leave this open, tagged as a plugin idea for discoverability, because I'd definitely like to see this happen.

Hey there

Since this issue hasn't had any activity in a while - we're going to automatically close it in 30 days. If you're still seeing this issue with the latest version of Nomad, please respond here and we'll keep this open and take another look at this.

Thanks!

is it possible to remove the stale bot on this feature request/issue?

I have a working version of this driver nomad-driver-containerd under https://github.com/Roblox.
Right now it's private. I plan to open source it within 3 weeks. We (Roblox) are also trying to move in a similar direction, where we want to integrate directly with containerd (like kubelet).

Docker is a monolithic service with everything from containers, images, networking, volume management, secrets packed into one. Containerd was launched as a solution to this, to be able to handle any container-related management using this lightweight daemon (gRPC server).

This driver will allow us to directly integrate and launch containers using containerd (bypassing docker), thereby reducing the CPU and memory footprint.

@shishir-a412ed awesome, then maybe there's a chance https://github.com/google/gvisor-containerd-shim can be used in Nomad too.

@bithavoc Yes I think that would be possible, I am exposing containerd_runtime as a configurable parameter to nomad driver configuration agent.hcl

Right now, it's using runc as a container runtime, but it could be configured to use runsc

wow @shishir-a412ed, freaking awesome, can't wait 馃殌

@shishir-a412ed let me know if you need testers for the driver.

@bithavoc The driver is ready, and I am just going through the process to open source it. The codebase needs to be scanned by our security teams, to make sure we are not releasing any Roblox related code or IP + a few approvals before the project can be open-sourced.

I am hoping it should be released within the next 2 weeks.
Once it's open I would love for you (or anyone else) to try it out!

Awesome @shishir-a412ed nicely done!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

funkytaco picture funkytaco  路  3Comments

hynek picture hynek  路  3Comments

stongo picture stongo  路  3Comments

dvusboy picture dvusboy  路  3Comments

Gerrrr picture Gerrrr  路  3Comments