Linux - ContainersThis forum is for the discussion of all topics relating to Linux containers. Docker, LXC, LXD, runC, containerd, CoreOS, Kubernetes, Mesos, rkt, and all other Linux container platforms are welcome.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hello,
I started to experiment with mickrok8s. I want to build HA system with iSCSI storage for the containers.
My question is how should I proceed with the storage
- Should I attach to hosts iSCSI storage or I have to attach it to each container I install.
Thank you in advance.
Best to keep the storage separate from the systems similar to a SAN / LUN. If one of the systems go down the other systems will still have access to the storage
Thank you, Gad,
I understand this and thus I want to use iSCSI share from separated SAN. My question is should I add a single LUN from the SAN to the hosts which run microk8s (Kubernetes) or I have to create containers inside microk8s and attach to them storage from the SAN.
Persisting data inside a container can be done in two ways.
Container sets up iSCSI session
The iSCSI session is initiated inside the container, iSCSI traffic goes through Docker NAT to external iSCSI target. This approach doesn't require host's support and is thus portable. However, the Container is likely to suffer from suboptimal network performance, because Docker NAT doesn't deliver good performance, as reseachers at IBM found.
Since iSCSI is highly senstive to network performance, delay or jitters will cause iSCSI connection timeout and retries. This approach is thus not preferred for mission-critical services.
Host sets up iSCSI session
Host initiates the iSCSI session, attaches iSCSI disk, mounts the filesystem on the disk to a local directory, and shares the filesystem with Container. This approach doesn't need Docker NAT and is conceivably higher performing than the first approach.
So obviously the storage should be added to the hosts, this way multipath could be configured easy.
But the directory structure on all nodes (mount points) should be same.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.