Project31 / ansible-kubernetes-openshift-pi3

Ansible playbooks for setting up a Kubernetes Raspberry Pi 3 cluster
190 stars 56 forks source link

Storage driver #18

Closed SitoCH closed 7 years ago

SitoCH commented 7 years ago

Hello, first of all, thank you for this repository: works great and straightforward. I just have a question about the default storage driver, why the default is devicemapper? I had some bad experiences with it on other OS and I've seen in your code that we can override it with overlay. Did you try overlay and you had problems? To override it I just have to put it in the config.yaml, right?

Thank you

Sito

rhuss commented 7 years ago

There is no particular reason for using devicemapper AFAIR, but it could be that I had some issues with overlay at the time (tbh, I don't remember ;-).

As you said, to override, just add a

docker:
  storage_driver: overlay2

to config.yml.

SitoCH commented 7 years ago

Perfect, I'll try that. One of the nodes had it's Docker volumes corrupted after an hard shutdown and I remember that I had the same issue on CentOS with the devicemapper driver. After I switched to overlay I never had these problems again so I'll try this also on the Raspberry's cluster.

SitoCH commented 7 years ago

I switched to overlay2 and it seems to be more reliable. The strange thing is that I had to change the option right in the mail.yml role because Ansible seems to ignore the values in the config.yml. The other thing that I had to modify was the kubeadm command, at the moment it doesn't officially supports overlay2 so I had to force it with --skip-preflight-checks:

command: kubeadm init --config /etc/kubernetes/kubeadm.yml --skip-preflight-checks
command: kubeadm join --token={{ kubeadm_token }} --skip-preflight-checks master:6443 
SitoCH commented 7 years ago

The problem is overlay2, using overlay everything works fine out of the box.

robertpeteuil commented 7 years ago

SitoCH - I had the same problem & resolution.

Based on the Docker website, it appears that Overlay2 is only supported on Debian Stretch (9). This can be seen on the drivers per Distro chart on this page

rhuss commented 7 years ago

@SitoCH @robertpeteuil So is the suggestion to switch to "overlay" in https://github.com/Project31/ansible-kubernetes-openshift-pi3/blob/master/roles/base/tasks/apt.yml#L44 ?

SitoCH commented 7 years ago

Yes, switching to overlay is the best choice. I'm using it successfully and even with a series of hard shutdowns everything kept running fine. Overlay2 isn't supported and when I tried devicemapper I had random corrupted volumes.

rhuss commented 7 years ago

Thanks for the info, just switched to overlay.