Where is FreeNAS going with Docker in 2018?

Status
Not open for further replies.

KrisBee

Wizard
Joined
Mar 20, 2017
Messages
1,288
Now that docker support has reappeared in the latest FreeNAS 11.1 release, I wonder just where this is going in 2018. Public statements on the subject have been few and far between apart from what you might have picked up on here and there, e.g: https://redmine.ixsystems.com/issues/23393 Who exactly among FreeNAS users will be delighted at the decision to embrace rancher/rancheros?

Saying “Rancher brings a lot of advantages for containers, it has a nice UI called RancherUI and you can make an orchestration with lots of other containers just installing a simple agent. Also soon Rancher 2.0 will bring great user experience with Kubernetes whether managing it using Rancher or existing Kubernetes clusters.” sounds all well and good if you are involved in large scale deployment and development of containers across multiple hosts, but for someone interested in deploying a relatively small number of docker containers it’s a sledge hammer to crack a nut.

I wonder too if anyone who really needs all the functionality rancher/rancherUI provides would be happy to orchestrate their docker swarm from a virtual machine embedded in FreeNAS, especially when that new VM facility was described as “experimental” in one forum announcement and as currently implemented suffers for the severe limitation of not being able to upgrade the base rancheros. Rancheros is somewhat bleeding edge and like all Linux distros must surely respond to kernel security advisories even if there were no other bugs to be fixed. The need to upgrade is fundamental and there have already been two further rancheros releases in the last couple of weeks. ( see: https://github.com/rancher/os/releases)

This issue has been recognised and supposedly fixed for 11.2, but if this is the fix, it looks to have just hard coded the rancheros v.1.1.2 boot details for grub-byhve to use and is only good until the next rancheros version is released. (See: https://redmine.ixsystems.com/proje...ff149b558fda102e9bfb716561ef1ef4c6acf97a/diff)

The appearance of a “DockerVm” in FreeNAS 11.1 seems to have caused confusion in the minds of some user about its setup, due in part to the constraints of existing code. Unlike other VM setup, VNC devices are not supported, but the user is not prevented from selecting such a device and is only told it is invalid after the fact. Unlike other VMs where a zvol must first be created in your zpool, when setting up a “DockerVM” you need only supply the name of an img file which will be appended to the dataset mount path of your choice. This img file must not pre-exist, so that’s the exact opposite of other VMs. Incorrectly specifying the img file can leave the system with grub-bhyve using 100% cpu. There seems to be no sanity check here and no useful error messages. When starting the “DockerVM” for the first time the pre-built rancheros img is downloaded in the background and if for any reason is unsuccessful the user can be left unable to start a "DockerVM" without any idea how to get it to work. On starting a “DockerVM” for the first and subsequent times a message “Let the magic begin ...” appears. This seems to be more worthy of some script kiddie than a professional product and is hardly informative to the user.

The FreeNAS 11.1 guide gives the impression installing the rancher-server is natural further step in the set-up without mentioning other possibilities, nor does the guide make any reference to ways in which docker containers can be linked to zpool storage, an essential ingredient in making use of docker with FreeNAS.

Those keen to use docker since the demise of Corral have already found their own path, some have set up rancheros manually using iohyve, others have just installed docker and docker-compose in a Linux VM their choice, and portainer offers a simple UI for docker management. These users may have little incentive to use the new “DockerVM” function. Those who clung to Corral may finally look to move to the latest FreeNAS, but what have they made of the new “DockerVM” function?

I can’t help thinking that rancheros/rancher looks like a devs choice and may not be well suited to those who just want to get a couple of docker apps working as simply as possible.
 
Last edited:

lukyjay

Contributor
Joined
May 13, 2016
Messages
134
If the dockers can be managed from within the FreeNAS UI, like how Unraid manages them, then I don't really care about the backend. If this isn't the case then it will further add to the steep learning curve FreeNAS has over the competing products and will contribute to slower growth and adoption of the FreeNAS platform.

Of course, this is all speculation. The developers have surprised us before. Take the new UI for example, it looked horrible but it's now starting to improve and is something some users prefer over the original 9.x UI.
 

KrisBee

Wizard
Joined
Mar 20, 2017
Messages
1,288
I’d had not read anything about the “Meltdown” bug when I wrote my original comment about the need to be able to update the base rancheros in a “DockerVM”. As you might expect, 24hrs before the CRD, Rancher labs have just released rancheros v1.1.3 which bumps the kernel to 4.9.75 to address CVE-2017-5754 (Meltdown) and includes other fixes.

Where are FreeNAS on this? AFAIK their fix to upgrade from v.1.1.0 to v.1.1.2 is now redundant. Does it matter? That depends on who you read and whether it’s a host-guest, guest-host or guest-guest situation that’s being discussed.

But the fact remains that the method chosen to create a “DockerVM” in FreeNAS 11.1 now leaves you with an inherently insecure rancheros base that the user cannot upgrade.
 

diskdiddler

Wizard
Joined
Jul 9, 2014
Messages
2,377
I got the impression it wasn't truly ready for primetime anyhow? Isn't the UI to manage it non existent at the moment?
Honestly I thought it wasn't done until 11.2 or 11.3?
 

KrisBee

Wizard
Joined
Mar 20, 2017
Messages
1,288
I got the impression it wasn't truly ready for primetime anyhow? Isn't the UI to manage it non existent at the moment?
Honestly I thought it wasn't done until 11.2 or 11.3?

There's nothing to show much will change in 11.2 or 11.3. The "build a DockerVM function" is usable right now. FreeNAS have put all their eggs in the rancher basket and no change of course seems imminent. Why would they expend effort on duplicating a Corral type interface when: (a) you can run Portainer, RancherUI etc. and (b) the Docker world was moved on in the last year.

For DIY virtual machines, there's always adding docker and docker-compose to your favoured Linux distro. It would have been interesting if they could have produced pre-built bhyve VM images, for example as you can for virtuabox, then they might have been able to offer byhve alternatives.
 

Asday

Dabbler
Joined
Jan 6, 2015
Messages
17
Man I wish I knew what was going on.

I read http://www.freenas.org/blog/docker-done-right/ and it seemed awesome. I spun up a jail, and got as far as starting the docker service, which fails for what I can only assume is a stupid reason.
Code:
docker -d
gives me the useful error
Code:
FATA[0000] Error starting daemon: error initializing graphdriver: Cannot find root filesystem vol1/jails/docker: exit status 1: "/sbin/zfs zfs get -rHp -t filesystem all vol1/jails/docker" => cannot open 'vol1/jails/docker': dataset does not exist
which is nothing short of baffling to me.

It looks like it's trying to find mount the storage the jail itself is stored on, (which is at /), and I have no idea why.

I uninstalled docker-freebsd, and installed regular docker instead, which then needed me to install docker machine, which required me to install virtualbox, which didn't work because it couldn't start.

I'm really confused about why it's so hard to get something as simple this running, this far into the future, and why I'm finding it so hard to google any solutions.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Because Docker, until recently, put negative effort into making things not completely tied to Linux. Even if you do get it to run, you have the infrastructure but nothing to run on it because all the Linux binaries won't run.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504

Asday

Dabbler
Joined
Jan 6, 2015
Messages
17
Yeah, it should be simple to run fundamental OS tasks under a completely different operating system.

Well... Yeah. It's 2018, and I had no trouble running docker on OSX/macOS. I'm not running "fundamental OS tasks", I'm running applications.
 

diskdiddler

Wizard
Joined
Jul 9, 2014
Messages
2,377
I'm really confused about why it's so hard to get something as simple this running, this far into the future, and why I'm finding it so hard to google any solutions.


Docker simply isn't in 'properly' in FreeNAS, I think it's the next release or the one after? I wouldn't honestly try at this point in time.
 

Asday

Dabbler
Joined
Jan 6, 2015
Messages
17
That's good to hear that "proper" support is in the pipes though. Cheers Mr. Diddler.
 

KrisBee

Wizard
Joined
Mar 20, 2017
Messages
1,288
Is there a update to this? Will we get a more general version of this https://redmine.ixsystems.com/proje...ff149b558fda102e9bfb716561ef1ef4c6acf97a/diff ? So that we can upgrade our rancheros to e.g. 1.2.0 ?

Not unless you raise another bug report. It's obvious that the current implementation of auto-building of rancher will never allow user update of the base rancheros. They are stuck with using bhyve grub boot loader as "rancheros" does not support UEFI. But as it is "syslinux" based the bhyve grub boot loader can only point to a fixed specific kernel and initrd, or possibly use chainloading. The later might be usable, and allow user updating of base rancheros but would required the function to be re-coded.
 

KrisBee

Wizard
Joined
Mar 20, 2017
Messages
1,288
That's good to hear that "proper" support is in the pipes though. Cheers Mr. Diddler.

Not sure what Mr. Diddler is referring to as "proper" support.
 

diskdiddler

Wizard
Joined
Jul 9, 2014
Messages
2,377
Not sure what Mr. Diddler is referring to as "proper" support.
I got the impression it's not even in production yet?
It's being refined, right?

I don't see it on my system and I'm up to date.
 

mow4cash

Contributor
Joined
Jan 20, 2017
Messages
132
Docker, The question no one wants to answer. Let me sweep this post under the rug for you because that's where they all end up. You make very valid points and I hope they get addressed. Although rancher is overkill I'd be happy with it if there was good documentation and it just worked. Ideally an integrated easy way to add containers like jails and a tab to manage containers would be ideal. I'm worried only having Jails in FreeNAS will ultimately hold it back as apps continue to no longer support FreeBSD.
 
Last edited by a moderator:

diskdiddler

Wizard
Joined
Jul 9, 2014
Messages
2,377
I'm still not clear if it should be working 100%, yet?
 

diskdiddler

Wizard
Joined
Jul 9, 2014
Messages
2,377
Well it’s not visible in the classic ui or I. Not look,ing hard enough .

Honestly didn’t think it was completed yet?
 

INCSlayer

Contributor
Joined
Apr 4, 2015
Messages
197
Well it’s not visible in the classic ui or I. Not look,ing hard enough .

Honestly didn’t think it was completed yet?

it's in the VM tab if at least if you are running at least 11.1-U1 or 11.1-U2 if you create a new VM you get the option to create a Docker one... it's all in the manual.
 
Last edited by a moderator:
Status
Not open for further replies.
Top